(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ftp_nb_put — Envoie un fichier sur un serveur FTP (non-bloquant)
$ftp
, string $remote_filename
, string $local_filename
, int $mode
= FTP_BINARY
, int $offset
= 0
) : int|false
ftp_nb_put() écrit le fichier remote_filename
présent sur la machine locale, sur le serveur FTP ftp
.
La différence entre cette fonction et ftp_put() est que cette fonction peut lire le fichier de manière asynchrone, afin que votre programme fasse autre chose pendant que le fichier soit téléchargé.
ftp
L'identifiant du lien de connexion FTP.
remote_filename
Le chemin vers le fichier distant.
local_filename
Le chemin vers le fichier local.
mode
Le mode de transfert. Doit être soit FTP_ASCII
, soit
FTP_BINARY
.
offset
La position dans le fichier distant à partir de laquelle le téléchargement commencera.
Retourne FTP_FAILED
, FTP_FINISHED
ou FTP_MOREDATA
, ou false
en cas d'échec de l'ouverture du fichier local.
Version | Description |
---|---|
7.3.0 |
Le paramètre mode est maintenant optionel. Précédemment il
était obligatoire.
|
Exemple #1 Exemple avec ftp_nb_put()
<?php
// Initialisation du chargement
$ret = ftp_nb_put($my_connection, "test.remote", "test.local", 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 un problème lors du chargement du fichier...";
exit(1);
}
?>
Exemple #2 Reprise d'un chargement avec ftp_nb_put()
<?php
// Initialisation
$ret = ftp_nb_put($my_connection, "test.remote", "test.local",
FTP_BINARY, ftp_size("test.remote"));
// Ou : $ret = ftp_nb_put($my_connection, "test.remote", "test.local",
// 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 un problème lors du chargement...";
exit(1);
}
?>