PHP téléchargement à partir du serveur distant via sftp
Ce qui peut avoir été demandé avant, je suis nouveau en PHP et je suis en train d'apprendre autant que je peux, mais ce qui a vraiment jeté moi.
Fondamentalement, ce que je veux savoir, c'est, comment puis-je utiliser du code PHP pour l'obtenir à tout télécharger à partir d'un serveur distant à un emplacement local. De la de télécharger tout et pas seulement un fichier que je suis coincé sur. Veuillez donc quelqu'un peut-il afficher/m'expliquer comment je pourrais faire cela?
Merci d'avance.
Ce que j'ai obtenu jusqu'à présent
<?php
$connection - ssh2_connect('example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$remote_dir="/remote_dir/";
$local_dir="/local_dir/";
$remote ="$remote_dir";
$stream = ssh2_exec($connection, $remote);
stream_set_blocking($stream,true);
$command=fread($stream,4096);
$array=explode(\n,$command);
$total_files=sizeof($array);
for($i=0;$i<$total_files;$i+++){
$file_name=trim($array[$i]);
if($file_name!=''{
$remote_file=$remote_dir.$file_name;
$local_file=$local_dir.$file_name;
if(ssh2_scp_recv($connection, $remote_file,$local_file)){
echo "File ".$file_name." was copied to $local_dir<br />";
}
}
}
fclose($stream);
?>
Je pense que mon $distance ="$remote_dir"; est faux, et pour être honnête, j'ai $filename quand je veux l'ensemble du répertoire, c'est tout ce que j'ai jusqu'à présent.
- Post ce que vous avez fait jusqu'à présent et n'oubliez pas de remplacer toute information à caractère sensible, le cas échéant.
- Venez d'ajouter ce que j'ai obtenu jusqu'à présent. comme je l'ai dit je ne sais pas si c'est bon ou pas seulement commencé le PHP il y a quelques semaines, mais je suis probablement au dessus de ma tête ici.
- Ont posté un échantillon espère que vous aimez, puisque vous êtes nouveau à Stackoverflow moi aussi je vous recommande de prendre un voyage à la Stackoverflow Tour pour savoir comment utiliser au mieux ce site qui vous aidera grandement fr les questions d'avenir.
Vous devez vous connecter pour publier un commentaire.
Voici un petit code sur la façon de lire le dossier et de télécharger tous les fichiers:
Vous pouvez également reprendre ce code pour (il ne sera pas copier les répertoires):
Si vous n'utilisez pas le chemin d'accès complet sur le dossier distant, il ne fonctionnera pas:
Mise à jour: j'ai été gentiment corrigé que ce n'est pas l'utilisation de sftp, mais utilise à la place de ftps. Voici un Stackoverflow lien de discuter à l'aide de PHP pour faire du SFTP.
La PHP docs couvrent déjà la plupart de ce que vous avez besoin pour cela. Voici un exemple pour récupérer une liste du contenu du répertoire distant: