Pb upload ftp

Pb upload ftp - PHP - Programmation

Marsh Posté le 16-01-2007 à 14:56:57    

Salut à tous,
 
Je tente de créer un petit code simple pour l'envoi de fichier image sur un serveur ftp.
 
J'ai fais la chose suivante:
1/ 1 formulaire avec le code suivant:
 

Code :
  1. <html>
  2.     <head>
  3.         <title>Ajout d'image</title>
  4.     </head>
  5.     <body>
  6. <form enctype="multipart/form-data" action="upload_img.php" method="POST">
  7.             <p><b>Ajouter une image </b><br />
  8.                 <br />
  9.                 <input type="hidden" name="posted" value="1" />
  10.                 <input name="fichier" type="file" />
  11.       </p>
  12.             <p>
  13.               Renommer le fichier
  14.               <input name="new_name" type="text" id="new_name">
  15.             </p>
  16.             <p>
  17.               <input type="submit" value="Uploader" />
  18.                                   </p>
  19. </form>
  20.     </body>
  21. </html>


 
et un fichier php "upload_img.php" avec le code suivant:

Code :
  1. <?php
  2. // variables
  3. $ftp_server = "monserveur.com";
  4. $ftp_user_name = "username";
  5. $ftp_user_pass = "password";
  6. $destination_file = 'http://www.monsite.com/test/images/upload/'.$_POST['new_name'].'';
  7. $source_file = $_POST['fichier'];
  8. /* Connexion */
  9. $conn_id = ftp_connect($ftp_server);
  10. /* Identification */
  11. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  12. /* Vérification de la connexion */
  13. if ((!$conn_id) || (!$login_result)) {
  14.         echo "La connexion FTP a échoué!\n";
  15.         echo "Tentative de connexion à $ftp_server avec $ftp_user_name.\n";
  16.         die;
  17.     } else {
  18.         echo "Connecté sur $ftp_server, avec l'utilisateur $ftp_user_name et le fichier $source_file";
  19.     }
  20. /* Téléchargement d'un fichier */
  21. $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
  22. /* Vérification de téléchargement */
  23. if (!$upload) {
  24.         echo "Le téléchargement FTP a échoué!";
  25.     } else {
  26.         echo "Téléchargement de $source_file sur $ftp_server en $destination_file";
  27.     }
  28. /* Fermeture de la connexion FTP */
  29. ftp_close($conn_id);
  30. ?>


Sauf que ça marche pas et ça renvoit le truc suivant:

Code :
  1. Connecté sur monserveur.com, avec l'utilisateur username
  2. Warning: error opening in /var/www/virtuales/monsite.com/test/admin/upload_img.php on line 26
  3. Le téléchargement FTP a échoué!
  4. Fatal error: Call to undefined function: ftp_close() in /var/www/virtuales/monsite.com/test/admin/upload_img.php on line 36


J'ai l'impression qu'il ne reçoit pas l'info sur le fichier que je veux uploader.
Comment dervais-je le transmettre entre les 2 pages?
 
Merci d'avance,
Wewen

Reply

Marsh Posté le 16-01-2007 à 14:56:57   

Reply

Marsh Posté le 16-01-2007 à 15:24:43    

Bon j'ai un peu bossé et voici toujours la même erreur.
J'ai réussi à passer le nom du fichier (c'était simple mais j'avais oublié) seulement j'ai toujours un problème d'ouverture du fichier.
 

Code :
  1. Connecté sur www.monserveur.com, avec l'utilisateur username et le fichier 0007fa84.jpg vers ../images/upload/0007fa84.jpg
  2. Warning: error opening 0007fa84.jpg in /var/www/virtuales/monsite.com/test/admin/upload_img.php on line 27
  3. Le téléchargement FTP a échoué!
  4. Fatal error: Call to undefined function: ftp_close() in /var/www/virtuales/monsite.com/test/admin/upload_img.php on line 37


 
C'est quoi ce "warning"?

Reply

Marsh Posté le 16-01-2007 à 16:07:19    

Bon, j'arrive à uploader maintenant.
 
par contre, je n'arrive pas à spécifier un chemin d'accès partiulier.
POur l'instant, le script upload à la racine de mon site et pas dans le dossier que je demande.

Reply

Marsh Posté le 16-01-2007 à 17:48:04    

L'alerte en question comme tu dis raconte que ton script n'arrive pas à lire le fichier envoyé par le navigateur. Vu que tu utilises "$source_file = $_POST['fichier'];" ca ne m'étone pas (il y a un truc du genre $_POST['fichier']['upload_name'] : a vérifier dans la doc ou en cherchant sur le forum)
 
Quand à l'erreur fatale plus bas, il te dit que la fonction ftp_close n'existe pas. T'as peut être des limitations chez ton hébergeurs a moins que tu te sois planté dans le nom de la fonction.
 
 
 
Au fait, c'est quoi que t'essaye de faire : envoyer un fichier sur un serveur ftp distant en passant par ton site web ou simplement envoyer un fichier dans un dossier de ton site web? Dans le premier cas il faut corriger ton code en fonction de ce que je t'ai dis, dans le second tu n'as pas du tout besoin des fonctions ftp (cherche upload sur le forum)


Message édité par omega2 le 16-01-2007 à 17:52:12
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed