iHoss
Messages postés12Date d'inscriptionmardi 11 avril 2006StatutMembreDernière intervention29 mars 2007
-
13 juil. 2006 à 12:20
MindFreak
Messages postés3Date d'inscriptionsamedi 5 août 2006StatutMembreDerniè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.
iHoss
Messages postés12Date d'inscriptionmardi 11 avril 2006StatutMembreDernière intervention29 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
cs_chamallow
Messages postés363Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention29 janvier 20071 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).
iHoss
Messages postés12Date d'inscriptionmardi 11 avril 2006StatutMembreDernière intervention29 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_chamallow
Messages postés363Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention29 janvier 20071 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
cs_chamallow
Messages postés363Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention29 janvier 20071 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.