ftp_nb_fput
ftp_nb_put
FTP Funktionen
PHP Manual

# ftp_nb_get

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_get — Überträgt eine Datei von dem FTP-Server und speichert sie lokal (nicht blockierend)

### Beschreibung

int 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 in`local_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) {
/* ... */
// 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"));
// ODER: $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'\0'.

Siehe auch ftp_nb_fget(), ftp_nb_continue(), ftp_get() und ftp_fget().

ftp_nb_fput
ftp_nb_put
FTP Funktionen
PHP Manual