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
ftp_nb_get(
resource $ftp_akımı
,
string $yerel_dosya
,
string $uzak_dosya
,
int $kip
= FTP_BINARY
,
int $devam_yeri
= 0
): int
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.
Değiştirgeler
-
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
-
Uzak dosyada indirmenin başlayacağı konum.
Dönen Değerler
FTP_FAILED
veya FTP_FINISHED
ya da FTP_MOREDATA
döner.
Örnekler
Ö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
// otomatik 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ı.
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