Page 1 sur 1

Récupérer un fichier stocké sur un serveur distant via sftp

Posté : 21 févr. 2019, 16:18
par kostia
Bonjour,
Débutant en php, je rencontre quelques difficultés...

J'ai un fichier sur un serveur distant.
j'ai besoin de récupérer ce fichier pour le copier sur mon serveur local, au travers d'un script php...

j'ai bien tenté d'utiliser curl, mais je n'arrive pas à récupérer le contenu du fichier...

J'ai pas mal cherché des exemples de script mais je n'arrive pas à mettre en oeuvre une solution qui fonctionne...

je suis preneur de toute solution
je dois copier le fichiers Résultats_2019.xls de la machine distante vers la mienne sans changer le nom.

Code : Tout sélectionner

$filename="Resultats_2019.xls"; $c = curl_init("sftp://".$pass." ".$user."@".$serveur."/ftpffsurf/".$filename.":".$port); $fh = fopen('_'.$filename, 'w') or die($php_errormsg); curl_setopt($c, CURLOPT_PROTOCOLS, CURLPROTO_SFTP); curl_setopt($c, CURLOPT_FILE, $fh); curl_exec($c); curl_close($c); curl_exec($c); curl_close($c);

merci pour votre aide...
ps je ne suis pas forcément attaché à Curl, je cherche avant tout une procédure fonctionnelle...

Re: Récupérer un fichier stocké sur un serveur distant via sftp

Posté : 22 févr. 2019, 02:08
par @rthur
Bonjour, ça se fait tout seul en une ligne normalement :
file_get_contents('ssh2.sftp://user:[email protected]:22/path/to/filename.ext');

Re: Récupérer un fichier stocké sur un serveur distant via sftp

Posté : 22 févr. 2019, 10:18
par kostia
Merci pour votre retour...
Le fichier créé est vide :-(

je me connecte bien avec fillezilla, ou en ligne de commande mais j'ai l'impression que ca ne fonctionne pas via ma page php

Code : Tout sélectionner

$url="ssh2.sftp://".$user.":".$pass."@".$serveur.":".$port."/".$user."/".$filename; if (file_get_contents($url)){echo "ok<br>";} else {echo "Erreur <br>";} $test= file_get_contents($url); file_put_contents('_Resultats_2019.xls',$test);

Re: Récupérer un fichier stocké sur un serveur distant via sftp

Posté : 22 févr. 2019, 15:44
par @rthur
Vérifie le chemin vers ton fichier.
Vérifie les logs de ton serveur pour voir si il n'y aurait pas un message d'erreur qui apparaisserait.

Re: Récupérer un fichier stocké sur un serveur distant via sftp

Posté : 22 févr. 2019, 16:49
par kostia
Merci,
pour le chemin du fichier, j'y accède via filezilla donc je pense qu'il est bon...
pour les logs du serveur, étant chez ovh, j'ai regardé sur ftp / error mais je ne trouve pas grand chose...