Aller au contenu

problème de transfert ftp en php


nesquick

Sujets conseillés

Bonjour,

Je souhaite transférer en FTP un fichier d'un serveur à un autre.

J'utilise ftp_put pour cela :

	$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...

Lien vers le commentaire
Partager sur d’autres sites

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 !

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Modifié par nesquick
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...