ftp_get

ftp_get - PHP - Programmation

Marsh Posté le 18-01-2012 à 14:55:09    

Bonjour à tous,
 
j'ai un problème à se tirer les cheveux depuis la semaine dernière et je viens seulement de comprendre sans pouvoir le corriger.
 
J'ai un serveur FTP (SFTP), un serveur OVH avec un site internet (SOVH), et un client (C).
Tout ce que je veux c'est pouvoir proposer à C de télécharger sur SFTP avec la fonction ftp_get disposé sur SOVH.
 
Le problème, c'est qu'au lieu de télécharger le fichier sur le C, ça télécharge sur SOVH dans le répertoire du fichier php exécuté.  
 
Pour être clair, le client click sur le lien, et le serveur FTP upload le fichier sur le serveur web au lieu de chez le client.
 
Je suis complètement bloqué !
Et je fais cela pour pouvoir activer du ftp actif, ce que j'ai réussi à faire.
Mais cela m'empêche de proposer aux clients un simple lien ftp://nanana
 
Je suis obligé de faire du get ! :)
 

Reply

Marsh Posté le 18-01-2012 à 14:55:09   

Reply

Marsh Posté le 18-01-2012 à 15:05:18    

j'ai juste trouvé ce forum qui en parle mais sans donner de réponses alors que le gars fini par trouver, grr
 
http://www.siteduzero.com/forum-83 [...] p-get.html

Reply

Marsh Posté le 18-01-2012 à 16:17:34    

Il faudrait voir la ligne du ftp_get().
 
L'utilisateur du forum, que vous citez, a posté cette ligne. Ca permet de voir tout de suite que son deuxième paramètre est mauvais, car il ne faut pas y mettre un nom de répertoire, mais un nom de fichier avec le chemin complet. Ce deuxième paramètre est la destination. Le troisième paramètre est la source. Peut-être qu'il y a un problème à ce niveau pour vous.
 
Voir la doc http://php.net/manual/fr/function.ftp-get.php


Message édité par olivthill le 18-01-2012 à 16:17:51
Reply

Marsh Posté le 18-01-2012 à 16:42:48    

merci pour la réponse olivthill,
j'ai essayé pas mal de choses, y compris de mettre un chemin complet :
c:\test.txt par exemple, hé bien cela créait un fichier "c:\test.txt" sur le serveur à la base des fichiers php. Un nom avec carrément c:\ dedans ^^
 
j'ai un collègue qui vient de m'aider à solutionner le problème en forçant le téléchargement du fichier depuis le serveur (car on sait quand il fini d'y être envoyé) vers le client en javascript, et ensuite à supprimer le fichier du serveur web par un unlink.
 
En faisant comme cela ça marche plutôt bien.
mais je comprends pas pourquoi le ftp_get nécessite 2 étapes alors que le ftp_put marche directement (tout en transitant par le serveur web).
 

Reply

Sujets relatifs:

Leave a Replay

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