Upload ftp

iHoss Messages postés 12 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 29 mars 2007 - 13 juil. 2006 à 12:20
MindFreak Messages postés 3 Date d'inscription samedi 5 août 2006 Statut Membre Dernière intervention 5 août 2006 - 5 août 2006 à 15:36
J'ai un problème d'upload ftp :
la connexion se fait comme prévue mais le fichier n'est pas uploadé.
Ceci est le code :
<?
$fichier = $_FILES['userfile']['name'];
$ftp_server = "www.xxxxxxxxxx.xxx";
$ftp_user_name = "xxxxxxx";
$ftp_user_pass = "xxxxxxx";
$fichier_destination = "/documentation/";
# $_SERVER["DOCUMENT_ROOT"] m'as semblé pas utile ; toutefois je l'ai comme meme essayer..

// Connexion
$conn_id = ftp_connect($ftp_server);
// authentification avec nom de compte et mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

if ((!$conn_id) || (!$login_result))
{
die("La connexion FTP a échoué ");
}
else
{
echo "Connecté sur serveur distant
";
}
$upload = ftp_put($conn_id, $fichier_destination, $fichier, FTP_BINARY);
// Confirmation de l'envoi du fichier
if ($upload)
{ echo "Le fichier ".$fichier." a été uploadé avec succes !"; }
else
{ echo "Le fichier ".$fichier." n'a pas put être envoyer !"; }

ftp_pasv($conn_id, true);
// fermeture de la connexion FTP.
ftp_quit($conn_id);
?>

ca c'est les msg que j'obtiens (test.txt est un fichier de 1K : je pense pas que se soit un probleme de taille) :
Connecté sur serveur distant
Le fichier test.txt n'a pas put être envoyer !

je suis persuadé que c'est un détail qui cloche.
Merci bcp de bien vouloir m'aider.
Bonne journée.

7 réponses

iHoss Messages postés 12 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 29 mars 2007
13 juil. 2006 à 12:39
svp je n'arrete pas d'essayer, ca marche toujours pas.
J'essaie de comprendre à l'aide du help de php et je ne fais que confondre ce que je dois mettre dans $fichier_destination et $fichier ; c'est d'ailleurs ces deux varibles qui, je suis persuadé, causent problème.
Merci encore pour votre aide  
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
13 juil. 2006 à 14:48
$upload = ftp_put($conn_id, $fichier_destination, $fichier, FTP_BINARY); --> je crois que dans $fichier_destination tu dois aussi mettre le nom du fichier en question, là t'a juste le nom du répertoire.
Et moi je fais jamais directement un ftp_upload, je copie d'abord en temporaire donc je suis obligé de lui dire où aller chercher le fichier, là je sais pas trop si PHP sait ou aller le prendre (je pense que oui quand même).
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 juil. 2006 à 14:49
Salut,

j'ai pas lu le problème, juste vaguement le code... c'est pas du tout bien codé... mais vraiment...

lis ça :

http://coucou747.hopto.org/article_35.html

ça te fera du bien...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
iHoss Messages postés 12 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 29 mars 2007
13 juil. 2006 à 14:59
en effet chamallow, quand je remplace :
$fichier = $_FILES['userfile']['name'];
$fichier_destination = "/documentation/";
par :
$fichier = $_POST['userfile'];
$filename = array_pop(explode('\\', $fichier));
$fichier_destination = "/documentation/".$filename;
//bien sur ca sous-entend que j'ai changé le formulaire (plus de enctype="multipart/form-data")
j'ai pu uploader avec ce code mais seulement sur le serveur(ma machine), sur le client il n'y a que la connexion.
et lorsque j'essaie :
$fichier = '\\\\'.$_SERVER['REMOTE_ADDR'].'\\'.$path;
ca marche mem plus chez le serveur.  
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
13 juil. 2006 à 15:19
Mais pourquoi t'enlèves enctype="multipart/form-data" ???

Mais tu sais, ce genre de code pour uploadé t'en trouves de partout !!
Et là je sais pas quoi te dire si tu fait directement l'upload d'un coup, parce que moi je copie en local dans un dossier temp d'abord, donc après je peux dire où prendre le fichier que je veux uploadé ... Alors si quelqu'un utilise ta méthode, peut-être pourra-t-il t'aider, sinon j'avais mis un bout de code ici (mais je sais pas s'il est très juste, je l'avais fait vite fait) :
http://www.phpcs.com/infomsg_FTP_772792.aspx#19

Peut-être ça t'aidera ...
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
13 juil. 2006 à 16:20
J'ai dis une connerie, je copie po temporairement en local chez moi, mais dans l'arborescence du site (donc si je suis pas en local, c'est plus chez moi lol), et après je transfert vers l'emplacement final.
0
MindFreak Messages postés 3 Date d'inscription samedi 5 août 2006 Statut Membre Dernière intervention 5 août 2006
5 août 2006 à 15:36
C'est mal codé

Le Top Du Net   :
http://www.pc-revolution.infoUn portrail informatique à visiter absolument  .
0
Rejoignez-nous