Je fais quelques essais avec les nouvelles fonctions ftp telles que ftp_nb_put et si j'ai bien compris leur utilité principale, c'est le fait qu'elles soient asynchrones et non bloquantes, donc qu'à priori l'on devrait pouvoir afficher une progress barre. Mais alors voilà, je fais un test en me basant sur la doc PHP pour afficher des petits points pendant le chargement :
<?php
///////////////////////////////////////////////////////////////////////le fichier à charger
if(file_exists("fichier.mp3")){
$fichier_local = "fichier.mp3";
}else{die( "le fichier n'existe pas");}
///////////////////////////////////////////////////////////////////////connection
$serveur_ftp = "mon serveur";
$ma_connec = ftp_connect($serveur_ftp);
$utilisateur_ftp="mon_login";
$pass_ftp="mon_mot_de_passe";
$resultat_connection = ftp_login($ma_connec, $utilisateur_ftp, $pass_ftp);
ftp_pasv($ma_connec, true);
// Vérification de la connexion
if ((!$ma_connec) || (!$resultat_connection)) {
echo utf8_encode("La connexion FTP a échoué !");
exit;
} else {
echo utf8_encode("<br><hr>Connexion au serveur $serveur_ftp, pour l'utilisateur $utilisateur_ftp<br><hr>");
}
//////////////////////////////////////////////////// le ftp_nb_put
$fichier_distant="/web/test/fichier.mp3";
$ret = ftp_nb_put($ma_connec, $fichier_distant, $fichier_local, FTP_BINARY);
while ($ret == FTP_MOREDATA) {
////////$temp = ftp_size($ma_connec, $fichier_distant); echo "." . $temp . "<br>";///// ceci ne marche manifestemment pas du tout non plus...
echo "." ;
// Continue le téléchargement...
$ret = ftp_nb_continue ($ma_connec);
}
if ($ret != FTP_FINISHED) {
echo utf8_encode("Il y a eu une erreur lors du chargement...");
exit(1);
}else{echo utf8_encode("fichier deposé");}
////////////////////////////////////////////////////////////////////////////////////
?>
Bon alors bien sûr le fichier se charge correctement mais les points et tout les autres "echo" ne s'affichent qu'à la fin du chargement... durant toute la durée de ce dernier, le browser affiche en connexion avec "mon_serveur"...Voilà, merci de votre indulgence face à mon ignorance... mais, dites-moi, ai-je bien compris la particularité de cette fonction où l'applique-je mal?
Merci d'avance pour l'éclairage de ma bien sombre lanterne....