8.40 Fonctions FTP
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies . Exemples . ftp_alloc . 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
|
8.40.26 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, PHP 5
int
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
et le sauvegarde
dans un fichier local.
La différence entre cette fonction et
ftp_fget
est
que cette fonction peut lire le fichier de manière asynchrone, afin
que votre programme fasse autre chose pendant que le fichier
est téléchargé.
-
ftp_stream
-
L'identifiant du lien de connexion FTP.
-
local_file
-
Le chemin vers le fichier local (sera écrasé si le fichier existe déjà).
-
remote_file
-
Le chemin vers le fichier distant.
-
mode
-
Le mode de transfert. Doit être soit
FTP_ASCII
ou
FTP_BINARY
.
-
resumepos
Retourne
FTP_FAILED
ou
FTP_FINISHED
ou
FTP_MOREDATA
.
| Exemple avec ftp_nb_get |
<?php
// Initialise le téléchargement $ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY); while ($ret == FTP_MOREDATA) { // Faîte ce que vous voulez... echo ".";
// Continue le téléchargement... $ret = ftp_nb_continue($my_connection); } if ($ret != FTP_FINISHED) { echo "Il y a eu un problème lors du téléchargement..."; exit(1); } ?>
|
| Reprise d'un téléchargement avec ftp_nb_get |
<?php
// Initialise $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) { // Faîte ce que vous voulez... echo ".";
// Continue le téléchargement... $ret = ftp_nb_continue($my_connection); } if ($ret != FTP_FINISHED) { echo "Il y a eu un problème lors du téléchargement du fichier..."; exit(1); } ?>
|
| Reprise d'un téléchargement à la position 100 dans un nouveau fichier avec ftp_nb_get |
<?php
// Désactive l'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 télé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'
.
|