ftp_nb_get
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_nb_get — FTP sunucusundan (engellenmeyen kipte) bir dosya indirir
Açıklama
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.
Bağımsız Değişkenler
ftp
-
Bir
FTP\Connection nesnesi.
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
-
Uzak dosyada indirmenin başlayacağı konum.
Örnekler
Örnek 1 - ftp_nb_get() örneği
<?php
// İndirmeyi başlatalım
$ret = ftp_nb_get($ftp, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {
// Başka bir şeyler yapalım
echo ".";
// İndirmeye devam...
$ret = ftp_nb_continue($ftp);
}
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($ftp, "test", "README", FTP_BINARY,
filesize("test"));
// VEYA: $ret = ftp_nb_get($ftp, "test", "README",
// FTP_BINARY, FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {
// Başka şeyler yapalım
echo ".";
// İndirmeye devam...
$ret = ftp_nb_continue($ftp);
}
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
// otomatik konumlamayı kapatalım
ftp_set_option($ftp, FTP_AUTOSEEK, false);
// İndirmeyi başlatalım
$ret = ftp_nb_get($ftp, "yenidosya", "BENiOKU", FTP_BINARY, 100);
while ($ret == FTP_MOREDATA) {
/* ... */
// İndirmeye devam...
$ret = ftp_nb_continue($ftp);
}
?>
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ı.
Ayrıca Bakınız
- ftp_nb_fget() - FTP sunucusundan dosyayı (engellenmeyen kipte) indirip bir
dosya tanıtıcısına yazar
- ftp_nb_continue() - Dosya alımını/gönderimini (engellenmeyen kipte) kaldığı yerden
devam ettirir
- ftp_fget() - FTP sunucusundan dosyayı indirip bir dosya tanıtıcısına yazar
- ftp_get() - FTP sunucusundan bir dosya indirir