upload ftp en php

Petit nouveau ! | 3 Messages

01 déc. 2010, 18:45

bonjour, voici mon code php:

Code : Tout sélectionner

<?php // Paramètres $ftp_server = "ftp.byethost13.com"; $ftp_user_name = "lebon"; $ftp_user_pass = "lebon"; $fichier_destination = $_SERVER["DOCUMENT_ROOT"] . "/htdocs/img/"; $source_file = $fichier_name; // Connexion $conn_id = ftp_connect($ftp_server); // Identification par login et mot de passe $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // Vérification de la connexion if ((!$conn_id) || (!$login_result)) { die("La connexion FTP a échoué!"); } // Affichage du dossier FTP courant //echo "Dossier courant : ", ftp_pwd($conn_id), "\n"; // changement du dossier courant if (@ftp_chdir($conn_id, "/htdocs/img/")) { // Confirmation du changement de dossier courant echo "Le dossier courant est maintenant : ", ftp_pwd($conn_id), "\n";} else { // Erreur lors du changement de dossier courant echo "Impossible de changer le dossier courant.\n"; } // Upload du fichier local vers le serveur if($fichier_name != "") { $upload = ftp_put($conn_id, $source_file, "$fichier",FTP_BINARY); // Confirmation de l'envoi du fichier echo "Le fichier $source_file a été envoyé avec succes !"; } else { // Erreur lors de l'envoi du fichier echo "Le fichier $source_file n'a pas put être envoyer !"; } ?>
et mon fichier html:

Code : Tout sélectionner

<html> <form method="post" action="upload.php" enctype="multipart/form-data"> <p><input type="file" name="fichier"> </p> <p><input type="submit" name="Submit" value="Envoyer"> </p> </form> </html>
voici la réponse lors de l'upload:

"Le dossier courant est maintenant : /htdocs/img Le fichier n'a pas put être envoyer !"

pourquoi ?
ps: c'est un code que j'ai trouver sur le net

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

01 déc. 2010, 19:37

heu ben tu a compris ce que faisait le script ?

le ftp c'est le serveur de ton site web ?

dans tout les cas il faut faire l'upload du fichier sur le serveur avant de l'envoyer par ftp. La on ne sais pas d'ou provient $fichier_name.

Pour l'upload de fichier AB à fait un classe => vos-contributions/upload-fichiers-verif ... 54129.html, sinon la doc indique comment faire http://www.php.net/manual/fr/features.file-upload.php

pour récapituler
1/ on vérifie que le formulaire à été soumis
2/ on on valide le fichier proprement (par exemple avec un upload complet dans un répertoire temporaire du site)
3/ on envoie le fichier par ftp
4/ si le cas du fichier temporaire sur site à été garder supprimer celui ci

@+
Il en faut peu pour être heureux ......