Version complète: sur le forum Webmaster Hub : problème de transfert ftp en php
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
nesquick
Bonjour,

Je souhaite transférer en FTP un fichier d'un serveur à un autre.
J'utilise ftp_put pour cela :
CODE
    $conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
    
    // Tentative d'identification
    if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
        $msg = "Connecté en tant que $ftp_user@$ftp_server\n";
    } else {
        $msg = "Connexion impossible en tant que $ftp_user\n";
    }
    
    // Charge un fichier
    if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
        $msg = "Le fichier $file a été envoyé avec succès\n";
    } else {
        $msg = "Il y a eu un problème lors du chargement du fichier $file\n";
    }

Je l'ai testé sur de mon serveur de départ à un serveur de destination chez ovh, le fichier est bien transféré.
J'ai modifié les codes ftp pour l'envoyer sur le bon serveur de destination (je me connecte avec ces codes sans problème avec un logiciel ftp) et là j'ai le message "Le fichier a été envoyé avec succès". Sauf que le fichier n'a pas été uploadé, quand je vais voir avec le logiciel ftp.
en fait, si je charge un fichier vide du même nom avec le logiciel, puis que je lance mon script php, il efface mon fichier de destination.

Est-ce que quelqu'un aurait une idée de la cause ?

Merci d'avance...
Dan
Deux remarques...

Si ftp_login ne se fait pas correctement, tu lances tout de même ftp_put et écrases le contenu de $msg
Tu n'utilises pas ftp_close en fin de script.

Supprime le @ devant le ftp_login !
nesquick
Merci pour ta réponse.
Pour tes remarques :
- je n'ai pas mis le ftp_close parce que ça ne me semblait pas indispensable pour comprendre le problème, mais il est bien dans mon code
- tu as raison pour le reste, j'ai imbriqué tout ça dans des conditions

Je crois que ça vient du serveur ftp de destination, je viens de remarquer que lorsque je mets mon fichier avec filezilla et que je rafraichis, le fichier a disparu. Ce ne serait donc pas un problème avec mon script.

Je reviendrai poster quand j'aurai du neuf.
nesquick
Bon, le problème n'était pas un problème : le serveur efface immédiatement tout fichier uploadé, c'est fait exprès (pourraient prévenir...)

Comment on met [résolu] dans le titre du post ?
captain_torche
On ne met pas "résolu" dans le titre du post, parce que ça pourrait décourage d'éventuelles réponses à quelqu'un qui ferait remonter le post pour le même souci.
Jeanluc
CITATION(nesquick @ vendredi 11 juillet 2008 à 12:08) *
Bon, le problème n'était pas un problème : le serveur efface immédiatement tout fichier uploadé, c'est fait exprès (pourraient prévenir...)
Effacé, t'es sûr ? Sur les serveurs qui proposent un FTP anonyme, il arrive qu'on puisse uploader des fichiers dans un répertoire sans pouvoir visualiser le contenu de ce répertoire.

Jean-Luc
inizar
Bonjour


certain serveur l'envoi de fichiers est limité à 2Mo .
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.