ftp_nb_get

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

ftp_nb_getFTP sunucusundan (engellenmeyen kipte) bir dosya indirir

Açıklama

ftp_nb_get ( resource $ftp_akımı , string $yerel_dosya , string $uzak_dosya , int $kip [, int $devam_yeri = 0 ] ) : int

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.

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

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

// Özdevinimli konumlamayı kapatalım
ftp_set_option($my_connectionFTP_AUTOSEEKfalse);

// İndirmeyi başlatalım
$ret ftp_nb_get($my_connection"yenidosya""BENiOKU"FTP_BINARY100);
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