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..