ftp_nb_get (PHP 4 >= 4.3.0) ftp_nb_get -- Überträgt eine Datei von dem FTP-Server und speichert sie lokal (nicht blockierend) Beschreibungint ftp_nb_get ( resource ftp_stream, string local_file, string remote_file, int mode [, int resumepos])
ftp_nb_get() überträgt remote_file
von dem FTP-Server, und speichert sie lokal inlocal_file.
Der Transfermodus mode muss entweder
FTP_ASCII oder
FTP_BINARY sein.
Der Unterscheid zwischen dieser Funktion und ftp_get() ist, dass
diese Funktion die Datei asynchron überträgt, so dass das Programm noch andere Operationen
ausführen kann, während die Datei heruntergeladen wird.
Gibt FTP_FAILED, FTP_FINISHED, oder
FTP_MOREDATA zurück.
Beispiel 1. ftp_nb_get() Beispiel
// Download initialisieren $ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY); while ($ret == FTP_MOREDATA) { // Irgendwas machen ... echo ".";
// Download fortsetzen $ret = ftp_nb_continue ($my_connection); } if ($ret != FTP_FINISHED) { echo "Es gab einen Fehler bei der Übertragung."; exit(1); }
|
|
Beispiel 2. Ein Download mit ftp_nb_get() fortsetzen
// Initialisieren $ret = ftp_nb_get ($my_connection, "test", "README", FTP_BINARY, filesize("test")); // ORDER: $ret = ftp_nb_get ($my_connection, "test", "README", // FTP_BINARY, FTP_AUTORESUME); while ($ret == FTP_MOREDATA) { // Irgendwas machen ... echo ".";
// Download fortsetzen $ret = ftp_nb_continue ($my_connection); } if ($ret != FTP_FINISHED) { echo "Es gab einen Fehler bei der Übertragung."; exit(1); }
|
|
Beispiel 3.
Ein Download mit Hilfe von ftp_nb_get()
an Position 100 fortsetzen und in eine neue Datei schreiben
// Autoseek deaktivieren ftp_set_option ($my_connection, FTP_AUTOSEEK, FALSE);
// Initialisieren $ret = ftp_nb_get ($my_connection, "newfile", "README", FTP_BINARY, 100); while ($ret == FTP_MOREDATA) {
// Irgendwas machen ... echo ".";
// Download fortsetzen $ret = ftp_nb_continue ($my_connection); }
|
|
In dem oberen Beispiel ist newfile 100 Bytes kleiner
als README auf dem FTP-Server,
weil wir erst beim Offset 100 angefangen haben zu lesen.
Hätten wir FTP_AUTOSEEK nicht deaktiviert
so bestünden die ersten 100 Bytes von newfile
aus''.
Siehe auch ftp_nb_fget(),
ftp_nb_continue(),
ftp_get() und ftp_fget().
|