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

Eléphanteau du PHP | 14 Messages

21 févr. 2019, 16:18

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...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 févr. 2019, 02:08

Bonjour, ça se fait tout seul en une ligne normalement :
file_get_contents('ssh2.sftp://user:[email protected]:22/path/to/filename.ext');
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 14 Messages

22 févr. 2019, 10:18

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);

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 févr. 2019, 15:44

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.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 14 Messages

22 févr. 2019, 16:49

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...