FTP File Transfer Protocol (Dosya Transfer Protokolü) ünü temsil etmektedir.

Aşağıdaki sabitler FTP Modülü (FTP_ASCII, ve FTP_BINARY) kullanıldığı zaman tanımlıdırlar.
Bu komutların işlenebilmesi için scriptin başına

dl("php3_ftp.dll");

ifadesi eklenmelidir.

FTP Fonksiyonları :

Kod Çizelgesi: php[Hepsini Seç] â–¼
ftp_connect : FTP bağlantısı açar.
ftp_login : Bir FTP bağlantısına login yapar.
ftp_pwd : O an içinde bulunulan klasör ü döndürür.
ftp_cdup : içinde bulunulan klasörü değiştirir.(bir üst klasöre geçer.)
ftp_chdir : FTP serverindaki klasörü değiştirir.
ftp_mkdir : Klasör yaratır.
ftp_rmdir : Klasör siler.
ftp_nlist : Verilen klasördeki dosyaların listesini döndürür.(listeyi bir diziye atar)
ftp_rawlist : Verilen klasördeki dosyaların detaylı listesini döndürür.
ftp_systype : Bağlanılan FTP serverinin sistem tipini döndürür.
ftp_pasv : Pasif modu açma veya kapama için kullanılır.
ftp_get : Bağlanılan FTP serverindan dosya alır.
ftp_fget : Bağlanılan FTP serverindan dosyayı alır ve açık olan bir dosyaya kaydeder.
ftp_put : Dosyayı FTP serverina upload eder.
ftp_fput : Açık olan bir dosyadan FTP serverina upload yapar.
ftp_size : Girilen dosyanın boyutunu döndürür.
ftp_mdtm : Girilen dosyanın son değiştirilme tarihini döndürür.
ftp_rename : FTP serverindaki bir dosyanın adını değiştirir.
ftp_delete : Girilen dosyayı FTP serveridan siler.
ftp_site : Servera bir site komutu gönderir.
ftp_quit : FTP bağlantısını kapatır.

Örnek ftp uygulaması

ftp_connect : FTP bağlantısı yapar.

Kullanımı :

int ftp_connect(string host,int[port]);

Başarı durumunda ftp bağlantısı döndürür, hata durumunda False döndürür.

ftp_connect() belirtilen hosta FTP bağlantısı yapar.PORT parametresi bağlantı için alternatif bir port sağlar.Yazılmazsa veya 0 değeri verilirse , Default FTP portu olarak 21 kullanılır.

yukarı

ftp_login : Bir FTP bağlantısına login yapar.

Kullanımı :

int ftp_login(int ftp_bağlantısı, string kullanıcıadı, string şifre);

Başarı durumunda True, hata durumunda falase değerini döndürür.

ftp_login() verilen ftp bağlantısına login yapar.

yukarı

ftp_pwd : Serverda içinde bulunulan klasörü döndürür.
-------------

Kullanımı :

int ftp_pwd(int ftp_bağlantısı);

başarı halinde içinde bulunulan klasörü hata halinde False döndürür.

yukarı

ftp_cdup : Serverda bir üst klasöre geçer.
-------------

Kullanımı :

int ftp_cdup(int ftp_bağlantısı);

başarı halinde True, hata halinde False döndürür.

yukarı

ftp_chdir : Serverda belirtilen klasöre geçer.
-------------

Kullanımı :

int ftp_chdir(int ftp_bağlantısı , string gidilecek_klasör);

Başarı halinde True, hata halinde False döndürür.

yukarı

ftp_mkdir : Serverda yeni bir klasör yaratır.
-------------

Kullanımı :

string ftp_mkdir(int ftp_bağlantısı,string klasör_adı);

başarı halinde yeni bir klasör yaratılır,hata halinde False döndürür.

yukarı

ftp_rmdir : Serverda bir klasörü siler.
-------------

Kullanımı :

int ftp_rmdir(int ftp_bağlantısı,string klasör_adı);

Başarı halinde True, hata halinde False döndürür.

yukarı

ftp_nlist : Verilen klasörde bulunan dosyaların listesini döndürür.
-------------

Kullanımı :

int ftp_nlist(int ftp_baglantısı,string klasör_adı);

Başarı halinde elemanları dosyaadları olan bir dizi , hata halinde False döndürür.

yukarı

ftp_rawlist : Verilen klasörde bulunan dosyaların ayrıntılı listesini döndürür.
-------------

Kullanımı :

int ftp_rawlist(int ftp_baglantısı, string klasör_adı);

ftp_rawlist() FTP LIST komutunu icra eder.ve sonuçları bir dizide döndürür.Her dizi elemanı text in bir satırına karşılık gelmektedir.Ayrıca ftp_systype() ile döndürülen sistem tip belirteci sonuçların nasıl yorumlanması gerektigini saptamada kullanılabilir.

yukarı

ftp_systype : Bağlı bulunulan FTP serverinin sistem tip belirtecini döndürür.
-------------

int ftp_systype(int ftp_baglantısı);

Başarı halinde sistem belirtecini, hata halinde False döndürür.

yukarı

ftp_pasv : Pasif modu açar veya kapar.
-------------

Kullanımı :

int ftp_pasv(int ftp_baglantısı,int pasv);

Başarı halinde True,hata halinde False döndürür.

ftp_pasv() pasv parametresi True ise pasif modu açar.pasv parametresi False ise pasif modu kapar.

yukarı

ftp_get : Belirtilen dosyayı FTP serverindan alır.
-------------

Kullanımı :

int ftp_get(int ftp_baglantısı, string local_file, string remote_file, int mode);

Başarı halinde True,hata halinde False döndürür.

ftp-get() komutu remote_file ile belirtilen dosyayı serverdan alır ve bilgisayara local_file
ile belirtilen isim ile kaydeder. mode parametresi FTP_ASCII veya FTP_BINARY olarak belirtilmelidir.

yukarı

ftp_fget : Belirtilen dosyayı FTP serverindan alır ve açık bir dosyaya kaydeder.
-------------

Kullanımı :

int ftp_fget(int ftp_baglantısı, int fp, string remote_file, int mode);

Başarı halinde Trueihata halinde False döndürür.

ftp_fget() komutu remote_file ile belirtilen dosyayı serverdan alır ve fp, dosya belirteci ile verilen dosyaya kaydeder.mode parametresi FTP_ASCII veya FTP_BINARY den birisi olmalıdır.

yukarı

ftp_put : Bilgisayardan belirtilen dosyayı alır ve FTP serverına kaydeder.
-------------

Kullanımı :

int ftp_put(int ftp_baglantısı, string remote_file,string local_file, int mode);

Başarı halinde True,hata halinde False döndürür.

ftp_put() bilgisayardan local_file ile belirtilen dosyayı alıp FTP serverina remote_file adıyla kaydeder.mode parametresi FTP_ASCII veya FTP_BINARY den birisi olmalıdır.

yukarı

ftp_fput : Bilgisayardan acık olan dosyayı alır ve FTP serverina kaydeder.
-------------

Kullanımı :

int ftp_fput(int ftp_baglantısı, string remote_file, int fp, int mode);

Başarı halinde true,hata halinde False döndürür.

ftp_fput() fp ile belirtilen dosya belirteci ile gösterilen dosyadan dosyanın sonuna kadar olan veriyi FTP serverina upload eder. Dosya servera remote_file ile belirtilen ad ile kaydedilir.mode parametresi FTP_ASCII veya FTP_BINARY den birisi olmalıdır.

yukarı

ftp_size : Verilen dosyanın büyüklüğünü döndürür.
-------------

Kullanımı :

int ftp_size(int ftp_baglantısı,string dosya_adı);

Başarı halinde dosyanın büyüklüğünü,hata halinde -1 değerini döndürür.

ftp_size() verilen dosyanın büyüklüğünü döndürür.Eğer bir hata oluşursa,mesela verilen dosya olmayabilir, -1 döndürür.Bütün serverlar bu fonksiyonu desteklememektedir.

yukarı

ftp_mdtm : Belirtilen dosyanın son değiştirilme tarihini döndürür.
-------------

Kullanımı :

int ftp_mdtm(int ftp_baglantısı,string dosya_adı);

Başarı halinde bir UNIX timestamp ı, hata halinde -1 döndürür.
Bu fonksiyonu bütün serverlar desteklememektedir.

yukarı

ftp_rename : FTP serverindaki bir dosyanın adını değiştirir.
-------------

Kullanımı :

int ftp_rename(int ftp_baglantısı,string dosya_adı,string yenidosya_adı);

Başarı halinde True,hata halinde False döndürür.

yukarı

ftp_delete : FTP serverinda belirtilen dosyayı siler.
-------------

Kullanımı :

int ftp_delete(int ftp_baglantısı,string path);

Başarı halinde True,hata halinde False döndürür.

ftp_delete() FTP serverindan path parametresi ile belirtilen dosyayı siler.

yukarı

ftp_site : Servera bir site komutu gönderir.
-------------

Kullanımı :

int ftp_site(int ftp_baglantısı,string cmd);

Başarı halinde True,hata halinde False döndürür.

ftp_site() FTP serverina cmd ile belirtilen komutu gönderir.

yukarı

ftp_quit : FTP baglatısını kapatır.
-------------

Kullanımı :

int ftp_quit(int ftp_baglantısı);

yukarı

ÖRNEK KOD :

<?php

dl("php3_ftp.dll"); /*Scripte “php3_ftp.dll” dinamik kütüphane dosyasını
kullanmasını söylüyoruz.*/

$host="ftp.ornek.com";
$user="username";
$pass="password";

if (!$ftp=ftp_connect($host)) //ftp ye bağlanıyoruz.
{
echo $host ;
echo ("Bağlantı yapılamadı.");
exit;
}

if (!ftp_login($ftp,$user,$pass)) // username ve password giriyoruz.
{
echo ("Login yapılamadı.");
exit;
}

$local="main.htm";
$remote="index.htm";
ftp_get($ftp,$local,$remote,FTP_ASCII);

/* ftp_get kullanarak FTP serverindaki index.htm dosyasını bilgisayarımıza main.htm olarak alıyoruz. ASCII modunda.*/

$local=”deneme.htm”;
$remote=”ana.htm”;
ftp_put($ftp,$remote,$local,FTP_ASCII);

/*ftp_put kullanarak bilgisayarımızdaki deneme.htm dosyasını FTP serverina ana.htm adıyla upload ettik. ASCII modunda*/

$files=ftp_nlist($ftp,deneme);
$a=sizeof($files);
echo ("Deneme Klasöründeki Dosyaların Listesi");
echo"<br>";
for($i=0;$i<$a;$i++){
echo $files[$i];
echo"<br>";
}

/*ftp_nlist komutu ile FTP serverindaki deneme klasöründeki bütün dosyaları bir dizi halinde $files dizisine atadık.Daha sonra sizeof() fonksiyonuyla $files dizisindeki eleman sayısını öğreniyoruz yani kaç dosyamız olduğunu.Daha sonra for döngüsüyle bu dosyaların adlarını ekrana basıyoruz.*/

$dizin=ftp_pwd($ftp);
echo $dizin;

/*ftp_pwd komutu ile o anda içinde olduğumuz dizini öğrenip ekrana basıyoruz.*/

ftp_chdir($ftp,altklasör);

/*ftp_chdir() komutu ile FTP serverinda dizin değiştirip altklasör adlı dizine geçiyoruz*/

ftp_rename($ftp,index.htm,main.php3);

/*ftp_rename() komutu ile serverdaki index.htm dosyasının adını main.php3 olarak değiştirdik.*/

Kod Çizelgesi: php[Hepsini Seç]
$sys=ftp_systype($ftp);
echo ("System type : ");
echo $sys;
echo "<br>";

/*ftp_systype() komutu ile FTP serverinin sistem tipini öğrendik.Burada eğer FTP serverimiz Unix sistem üzerindeyse ekrana UNIX yazacaktır.*/

ftp_quit($ftp); //ftp bağlantımızı kapattık.



aLinti..