Transfert FTP

Transfert FTP - PHP - Programmation

Marsh Posté le 18-02-2011 à 20:47:51    

J'utilisait ce code pour transférer un fichier à l'aide des fonctions FTP de PHP :  
 

Code :
  1. // Parametres
  2. $ftp_server = *****;
  3. $ftp_user_name = *****;
  4. $ftp_user_pass = *****;
  5. $source_file = *****";
  6. $destination_file = *****;
  7. // Creation de la connection
  8. $conn_id = ftp_connect("$ftp_server" );
  9. // Authentification avec nom de compte et mot de passe
  10. $login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass" );
  11. // Verification de la connexion
  12. if ((!$conn_id) || (!$login_result))
  13. {
  14. echo "La connexion FTP a echoue";
  15. exit();
  16. }
  17. // Telechargement du fichier
  18. $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
  19. // Verification du telechargement
  20. if (!$upload)
  21. {
  22. echo "Le transfert du fichier echoue";
  23. }
  24. // Fermeture de la connexion FTP
  25. ftp_quit($conn_id);


 
Depuis peu, le fichier est envoyé mais sa taille reste à 0 octet, puis il me renvoie ces erreurs :  
 
Warning: ftp_put() [function.ftp-put]: PORT command successful in ***** on line 22
 
Fatal error: Maximum execution time of 30 seconds exceeded in ***** on line 22


Message édité par alx067 le 18-02-2011 à 21:37:16
Reply

Marsh Posté le 18-02-2011 à 20:47:51   

Reply

Marsh Posté le 19-02-2011 à 09:00:11    

Ah ah ah ... T'es à multimania c'est ça ?
D'ailleurs si tu mets pas le serveur on peut pas t'aider des masses.
Autrement tu pourrais essayer de te connecter avec le MS-DOS.

Reply

Marsh Posté le 19-02-2011 à 13:58:19    

Je suis chez chez.com.

Reply

Marsh Posté le 20-02-2011 à 08:22:55    

Tu as peut être un problème avec le CHMOD.
Ce nom débile qui permet de chercher pendant plusieurs plomb ^^.

 

Pour résumer, tu télécharge Filezilla, tu te connecte avec tes identifiants ***** (voir ton code au dessus) et dans propriété du dossier, tu coche toute les cases. Soit CHMOD 777.

 

Bonne chance !


Message édité par cetplus le 20-02-2011 à 08:24:17
Reply

Marsh Posté le 20-02-2011 à 10:53:03    

J'ai essayé avec le CHMOD à 777, cela ne fonctionne toujours pas.
 
Le transfert de fichier est automatisé par une commande en PHP et je ne peut pas faire autrement.


Message édité par alx067 le 20-02-2011 à 11:08:57
Reply

Marsh Posté le 21-02-2011 à 08:25:08    

Je reste perplexe.
Vérifie que ton serveur n'a pas eu une panne, qu'il aurait désactivé une option sur leur réseau.
 
As-tu modifié ton code source ? bien qu'il m'est l'air correcte.
Ou encore ce peut être un problème Pseudo/Mdp/Serveur, vérifie que tu ne l'as pas modifié.
 
Cordialement.

Reply

Marsh Posté le 08-03-2011 à 15:30:34    

Au moment de transférer le fichier (un fichier .KML) celui transmet le fichier mais pas le contenu.
Ainsi je n'ai que le fichier .KML mais sans le contenu (le fichier fait 0 octet au lieu de 2,5 Kilo-octets)
 
Pour être précis, le transfert se bloque au moment d'envoyer le contenu du fichier jusqu'à ce que PHP me renvoie une erreur.
 

Citation :


ftp_put() [function.ftp-put]: Unable to build data connection: Connection refused in fichier.php on line 22


 
J'ai essayé en changeant l'extension de fichier, cela ne fonctionne pas.
 
Si une âme généreuse se manifeste...


Message édité par alx067 le 08-03-2011 à 17:38:39
Reply

Marsh Posté le 08-03-2011 à 18:32:24    

un simple copy suffit


Message édité par stealth35 le 08-03-2011 à 18:33:02
Reply

Marsh Posté le 08-03-2011 à 19:06:26    

Je ne pense pas que la fonction copy() permette de placer un fichier hébergé en local sur une adresse en http:// (c'est ce que je cherche à réaliser) ; j'ai essayé sans succès.

Reply

Marsh Posté le 08-03-2011 à 19:41:28    

alx067 a écrit :

Je ne pense pas que la fonction copy() permette de placer un fichier hébergé en local sur une adresse en http:// (c'est ce que je cherche à réaliser) ; j'ai essayé sans succès.

 

ftp tu veux dire, il suffis de mettre une adresse ftp  ftp://login:password@exemple.com/ [...] ichier.txt


Message édité par stealth35 le 08-03-2011 à 19:41:37
Reply

Marsh Posté le 08-03-2011 à 19:41:28   

Reply

Marsh Posté le 08-03-2011 à 19:57:26    

Un grand merci, çà fonctionne.
 
Merci. :D


Message édité par alx067 le 08-03-2011 à 19:57:50
Reply

Sujets relatifs:

Leave a Replay

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