Tom's Guide > Forum > Programmation > [RESOLU] PHP - Problème d'envoi de fichier sur FTP
Mot :    Pseudo :           
 

Salut tout le monde, j'ai un petit soucis.
J'aimerai pouvoir envoyer des images .jpg sur mon ftp et pour ca j'ai fait un script. La base de ce script a été prise sur php.net et j'ai rajouté 2-3 trucs. Seulement ca ne marche pas. La connexion au FTP se fait bien mais la fonction ftp_put() n'envoie pas l'image. Si quelqu'un peux m'aider...
Merci d'avance !

Voici le code :

Code :
  1. <?
  2. // Mise en place d'une connexion basique
  3. $conn_id = ftp_connect($ftp_server);
  4. // Identification avec un nom d'utilisateur et un mot de passe
  5. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  6. // Vérification de la connexion
  7. if ((!$conn_id) || (!$login_result))
  8. {
  9.     echo "La connexion FTP a échoué !";
  10.     echo "Tentative de connexion au serveur $ftp_server pour l'utilisateur $ftp_user_name";
  11.     exit;
  12. }
  13. else
  14. {
  15.     echo "Connexion au serveur $ftp_server, pour l'utilisateur $ftp_user_name";
  16. }
  17. //changement du dossier courant
  18. ftp_chdir($conn_id, $dossier_photos);
  19. if (isset ($_POST['fichier']))
  20. {
  21.     if ($_POST['fichier'] != '')
  22.     {
  23.         $source_file = $_POST['fichier'];
  24.         $destination_file = $_POST['nom_fichier'] . '.jpg';
  25.         // Chargement d'un fichier
  26.         $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
  27.         // Vérification du status du chargement
  28.         if (!$upload)
  29.         {
  30.             echo "Le chargement FTP a échoué!";
  31.         }
  32.         else
  33.         {
  34.             echo "Chargement de $source_file vers $ftp_server en tant que $destination_file";
  35.         }
  36.     }
  37. }
  38. ?>
  39. <h2>Ajouter une photo</h2>
  40. <form method="post">
  41.     Nom du fichier <input type="text" name="nom_fichier" size="20">
  42.     Fichier <input type="file" name="fichier">
  43.     <input type="submit" value="OK">
  44. </form>
  45. <h3>Liste des fichiers</h3>
  46. <?
  47. $liste = ftp_nlist($conn_id, '.');
  48. //affichage du contenu du dossier
  49. echo '<p class="droite">Dossier courant : ' . ftp_pwd($conn_id) . '</p>';
  50. echo '<pre>';
  51. print_r ($liste);
  52. echo '</pre>';
  53. ftp_close($conn_id); // fermeture du flux FTP
  54. ?>

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Pourquoi tu n'utilises pas la fonction "upload" via un formulaire tout simplement ? Passer par le ftp, c'est logiquement plus rapide en raison du protocole, mais je ne trouve pas çà vraiment fiable (j'ai jamais réussi à utiliser ce protocole via php) ni même simple.

Et très crade sur le serveur si çà merde ou si la connection se ferme ! Avec l'upload, tes fichiers se stockent obligatoirement dans un dossier temporaire qui est vidé, donc pas de soucis à ce niveau là... Voilà, ce n'est qu'un conseil qui vaut ce qu'il vaut ;-)

Bon courage quand même !

Répondre à hoxman

Désolé, j'avais pas vu ton code ! :-)

Tu utilises bien un formulaire, mais en effet comme çà, çà ne risque pas de fonctionner :-)

voilà ce qu'il faut mettre à la première ligne du formulaire :

< form enctype="multipart/form-data" method="POST" name = "form" action="fichier.php" >


Si tu ne mets pas enctype="multipart/form-data", peu importe la méthode utilisée en php, çà ne fonctionnera pas, j'ai déjà été confronté à ce problème donc vala, essaie et normalement çà devrait être bon ;-)

@+

Hoxman

Répondre à hoxman

Quelle buse ! J'avais pas vu la date ! mdr...

Bon tant pis :) C'est l'intention qui compte lol

Répondre à hoxman

J'ai confondu avec la date d'inscription :->
hmm hmmm... Vais me cacher :)

Répondre à hoxman

Ca marche pas ... j'ai changé la balise de début du formulaire en

Code :
  1. <form enctype="multipart/form-data" method="POST">


mais ca ne marche toujours pas.
Maintenant au lieu de me dire que l'upload a échoué. Il ne m'affiche plus rien. Mais par contre aucun fichier ne se trouve sur le FTP.
:-S

Répondre à Agent00

Ca y est .... problème résolu

fallait aller chercher les informations du fichier a uploader dans la variable $_FILES['fichier']

et la variable contenant le fichier source est dans $_FILES['fichier']['tmp_name']

Répondre à Agent00
Tom's Guide > Forum > Programmation > [RESOLU] PHP - Problème d'envoi de fichier sur FTP
Aller à :

Il y a 850 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens