7.32 FTP
7 Index des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes prédefinies . Exemples . ftp_cdup . ftp_chdir . ftp_chmod . ftp_close . ftp_connect . ftp_delete . ftp_exec . ftp_fget . ftp_fput . ftp_get_option . ftp_get . ftp_login . ftp_mdtm . ftp_mkdir . ftp_nb_continue . ftp_nb_fget . ftp_nb_fput ->ftp_nb_get . ftp_nb_put . ftp_nlist . ftp_pasv . ftp_put . ftp_pwd . ftp_quit . ftp_raw . ftp_rawlist . ftp_rename . ftp_rmdir . ftp_set_option . ftp_site . ftp_size . ftp_ssl_connect . ftp_systype
|
7.32.25 ftp_nb_get()Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)[ Exemples avec ftp_nb_get ] PHP 4 >= 4.3.0
bool
ftp_nb_get (
resource
ftp_stream
,
string
local_file
,
string
remote_file
,
int
mode
,
int
resumepos
)
ftp_nb_get
lit le fichier
remote_file
présent sur le serveur FTP
ftp_stream
, puis écrit
ce fichier dans le pointeur de fichier
handle
. Le
mode de transfert
mode
spécifié peut être
FTP_ASCII
ou
FTP_BINARY
.
La différence entre cette fonction et
ftp_fget
est
que cette fonction peut lire le fichier de manière asynchrone, de manière
à ce que votre programme fasse autre chose, pendant que le fichier
est téléchargé.
Cette fonction retourne
TRUE
en cas de succès,
FALSE
en cas d'échec.
Exemple avec ftp_nb_get |
// Initialisation $ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY); while ($ret == FTP_MOREDATA) { // Faites ce que vous voulez echo ".";
// Continue le chargement $ret = ftp_nb_continue ($my_connection); } if ($ret != FTP_FINISHED) { echo "Il y a eu une erreur lors du chargement du fichier..."; exit(1); }
|
Reprise d'un chargement avec ftp_nb_get |
// Initialisation $ret = ftp_nb_get ($my_connection, "test", "README", FTP_BINARY, filesize("test")); // Ou : $ret = ftp_nb_get ($my_connection, "test", "README", // FTP_BINARY, FTP_AUTORESUME); while ($ret == FTP_MOREDATA) { // Faites ce que vous voulez echo ".";
// Continue le chargement $ret = ftp_nb_continue ($my_connection); } if ($ret != FTP_FINISHED) { echo "Il y a eu une erreur lors du chargement du fichier..."; exit(1); }
|
Reprise du téléchargement à la position 100 avec ftp_nb_get |
// Désactive l'option de Autoseek ftp_set_option ($my_connection, FTP_AUTOSEEK, FALSE);
// Initialisation $ret = ftp_nb_get ($my_connection, "newfile", "README", FTP_BINARY, 100); while ($ret == FTP_MOREDATA) {
... // Continue le chargement $ret = ftp_nb_continue ($my_connection); }
|
Dans l'exemple ci-dessus,
"newfile"
est 100
octets plus petit que
"README"
sur le site FTP, car
nous avons commencé à lire à l'offset 100. Si nous n'avions pas
désactivé l'option
FTP_AUTOSEEK
, les premiers
100 octets du fichier seraient complétés avec
'\0'
.
Voir aussi
ftp_nb_fget
,
ftp_nb_continue
,
ftp_get
et
ftp_fget
.
|