(PHP 4 >= 4.3.0, PHP 5, PHP 7)
ftp_nb_get — FTP sunucusundan (engellenmeyen kipte) bir dosya indirir
$ftp_akımı
, string $yerel_dosya
, string $uzak_dosya
, int $kip
[, int $devam_yeri
= 0
] )
ftp_nb_get() işlevi FTP sunucusundan
uzak_dosya
dosyasını alır, yerel dosya sistemine
yerel_dosya
adıyla kaydeder.
Bu işlevin ftp_get() işlevinden farkı bu işlevin dosyayı eşzamansız olarak indirmesidir. Yani indirme işlemi sırasında başka işlemler yapabilirsiniz.
ftp_akımı
FTP bağlantısının bağlantı tanıtıcısı.
yerel_dosya
Yerel dosyanın yolu (dosya varsa üzerine yazılır).
uzak_dosya
Dosyanın FTP sunucusundaki yolu.
kip
Aktarım kipi. FTP_ASCII
veya
FTP_BINARY
olabilir.
devam_yeri
FTP_FAILED
veya FTP_FINISHED
ya da FTP_MOREDATA
döner.
Örnek 1 - ftp_nb_get() örneği
<?php
// İndirmeyi başlatalım
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {
// Başka bir şeyler yapalım
echo ".";
// İndirmeye devam...
$ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
echo "Dosya indirilirken bir hata oluştu...";
exit(1);
}
?>
Örnek 2 - ftp_nb_get() ile indirmeyi devam ettirmek
<?php
// İndirmeyi tekrar başlatalım
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY,
filesize("test"));
// VEYA: $ret = ftp_nb_get($my_connection, "test", "README",
// FTP_BINARY, FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {
// Başka şeyler yapalım
echo ".";
// İndirmeye devam...
$ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
echo "Dosya indirilirken bir hata oluştu.....";
exit(1);
}
?>
Örnek 3 - ftp_nb_get() ile indirmeyi yeni bir dosyanın 100. baytından sürdürmek
<?php
// Özdevinimli konumlamayı kapatalım
ftp_set_option($my_connection, FTP_AUTOSEEK, false);
// İndirmeyi başlatalım
$ret = ftp_nb_get($my_connection, "yenidosya", "BENiOKU", FTP_BINARY, 100);
while ($ret == FTP_MOREDATA) {
/* ... */
// İndirmeye devam...
$ret = ftp_nb_continue($my_connection);
}
?>
Yukarıdaki örnekte, yenidosya, FTP sunucusundaki
BENiOKU dosyasından 100 bayt kısa olacaktır. Bunun
sebebi indirmenin 100. bayttan başlatılmış olmasıdır. Eğer
FTP_AUTOSEEK
seçeneğine FALSE
atamasaydık
yenidosya dosyasının ilk 100 baytı
'\0' karakterleriyle doldurulacaktı.