KodFeed İLMİN ZEKATI…

16Kas/092

PHP ile FTP dizinini görüntüleme

Son günlerde uğraşmış olduğum PHP ile FTP işlemleri belki birilerinin işine yarar ümidiyle paylaşmak istedim.

FTP'ye PHP ile bağlanmak için PHP'nin mevcut fonksiyonlarından ftp_connect kullanılmaktadır. ftp_connect fonksiyonunu bir çok yerde kullanılması nedeniyle global bir değişkene atamak daha mantıklıdır.

global $ftpcon;
$host = "localhost";
$ftpcon = ftp_connect($host) or die("Sunucuya bağlanılamadı.(".$host.")");

Bağlantı sağlandıktan sonra yapılması gereken iş şüphesiz login olmaktır. Yine PHP'de mevcut fonksiyon ftp_login imdadımıza yetişmektedir. ftp_login fonksiyonu true veya false bir bool değer döndermektedir.

$usr = 'ramazan';
$pass = 'ulucay';
if(ftp_login($ftpcon,$usr,$pass))
    echo $usr.'@'.$host.' sunucusuna bağlanıldı.';
else
    echo $usr.' kullanici adı ile bağlantı kurulamadı.';

Bir dizinde bulunan dosyaları göstermek için;

$contents = ftp_nlist($ftpcon, '.');
sort($contents);
foreach ($contents as $dosya) {
    echo $dosya."<br>";
}

Yukardaki kodda $contects ile root dizini listelenmesi sağlanmaştır. sort komutu burada $contets arrayinde bulunan değişkenleri alfabetik olarak sıralamasını sağlamaktadır.

Sonuç olarak bir FTP'ye bağlanıp dosyaları listelemek için;

global $ftpcon;
$host = "localhost";
$usr = 'ramazan';
$pass = 'ulucay';
$ftpcon = ftp_connect($host) or die("Sunucuya bağlanılamadı.(".$host.")");
if(ftp_login($ftpcon,$usr,$pass))
    {
         $contents = ftp_nlist($ftpcon, '.');
         sort($contents);
         foreach ($contents as $dosya) {
             echo $dosya."<br>";
         }
     }
else
    echo $usr.' kullanici adı ile bağlantı kurulamadı.';
VN:F [1.9.13_1145]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
PHP ile FTP dizinini görüntüleme, 10.0 out of 10 based on 1 rating
Etiketler: , Yorum gönder.
Yorumlar (2) Geri izlemeler (1)
  1. Çok güzel bir makale olmuş. Ellerine sağlık. Fakat benim sormak istediğim bir şey var. Dosyaları listelerken sadece adlarını görüntüleyebiliyoruz. Ben mesela listelediğim dosyaların boyutunu görmek istersem yada diyelim ana dizinin içerisindeki Berkan diye bir klasöre tıklayıp girmek istiyorsam nasıl bir yol izlemem gerekir. Şimdiden teşekkür ederim.

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.13_1145]
    Rating: 0 (from 0 votes)
  2. Berkan, ftp_size fonksiyonu ile istemiş olduğunu yapabilirsin. bunu dener misin? Ayrıca bir klasöre girmek için ftp_ chdir fonksiyonunu kullanabilirsin. ftp_ chdir fonksiyonu belirttiğin dizine gitmene sağlar ve klasöre tıklayınca ftp_ chdir ile o tıkladığın klasöre gidebilirsin.

    global $ftpcon;
    $host = "localhost";
    $usr = 'ramazan';
    $pass = 'ulucay';
    $ftpcon = ftp_connect($host) or die("Sunucuya bağlanılamadı.(".$host.")");
    if(ftp_login($ftpcon,$usr,$pass))
        {
             $contents = ftp_nlist($ftpcon, '.');
             sort($contents);
             foreach ($contents as $dosya) {
                 echo $dosya." - ".ftp_size($ftpcon, $dosya)."<br>";
             }
         }
    else
        echo $usr.' kullanici adı ile bağlantı kurulamadı.';
    VN:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.13_1145]
    Rating: 0 (from 0 votes)

Leave a comment

(required)