FTP Fonksiyonları

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ı :

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

————-

Kullanımı   :

int ftp_quit(int ftp_baglantısı);

Ö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.*/

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

?>

tuna

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir