(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_nb_fget — Lit un fichier sur un serveur FTP, et l'écrit dans un fichier (non bloquant)
$ftp
,$stream
,$remote_filename
,$mode
= FTP_BINARY
,$offset
= 0
ftp_nb_fget() lit le fichier remote_filename
présent sur le serveur FTP ftp
.
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
Une instance de FTP\Connection.
stream
Un pointeur de fichier ouvert dans lequel les données sont écrites.
remote_filename
Le chemin vers le fichier distant.
mode
Le mode de transfert. Doit être soir FTP_ASCII
ou
FTP_BINARY
.
offset
La position dans le fichier distant à partir de laquelle le téléchargement doit commencer.
Retourne FTP_FAILED
ou FTP_FINISHED
ou FTP_MOREDATA
.
Version | Description |
---|---|
8.1.0 |
La paramètre ftp attend désormais une instance de
FTP\Connection ; auparavant, une ressource était attendu.
|
7.3.0 |
Le paramètre mode est maintenant optionnel. Précédemment il
était obligatoire.
|
Exemple #1 Exemple avec ftp_nb_fget()
<?php
// Ouverture de quelques fichiers pour lecture
$file = 'index.php';
$fp = fopen($file, 'w');
$ftp = ftp_connect($ftp_server);
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
// Initialise le téléchargement
$ret = ftp_nb_fget($ftp, $fp, $file, FTP_BINARY);
while ($ret == FTP_MOREDATA) {
// Faites ce que vous voulez...
echo ".";
// Continue le téléchargement...
$ret = ftp_nb_continue($ftp);
}
if ($ret != FTP_FINISHED) {
echo "Il y a eu une erreur pendant le téléchargement du fichier...";
exit(1);
}
// Ferme le pointeur de fichier
fclose($fp);
?>