Comment lister les fichiers d'un répertoire dans un autre serveur à l'aide de ssh2
Je voudrais obtenir la liste des fichiers d'un répertoire dans un autre serveur
Je suis connecté à un autre serveur à l'aide de ssh2_connect fonction de la connexion se passe bien et je suis capable d'aller chercher un fichier souhaité, mais je ne suis pas sûr de savoir comment les fichiers peuvent être répertoriés.
Toute aide est la appriciated!
Exécuter
ls
, obtenir la sortie?OriginalL'auteur | 2012-01-12
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser ssh2_sftp et fonctions opendir, comme ceci:
Wow. Vraiment hack méthode. En outre, vous pouvez utiliser de nombreuses autres fonctions de fichiers par semblable façon, l'e.g scandir, fopen, file_exists, file_get_contents.
Ce fait jette la même erreur de segmentation en vertu de PHP 5.6. Vous avez vraiment besoin de passer le
$sftp
ressource retournée parssh2_sftp
par le biais d'unintval
d'abord, avant de concaténer avec quoi que ce soit, comme l'a indiqué @pc de réponse.merci pour l'avis. La prochaine fois, merci de mettre à jour la réponse. 😉
sûr que je l'ai fait... en bas de vote supprimé, btw
OriginalL'auteur elias
Dans le cas où quelqu'un a de la difficulté à obtenir que cela fonctionne, et que vous exécutez
PHP 5.6.28
il y avait une mise à jour récente que soit créée une obligation ou a introduit un bug oùintval()
doit être utilisé sur chaque SFTP accès au dossier/fichier de la fonction:Merci, vous avez sauvé ma journée! J'ai continué à obtenir de segmentation depuis que PHP de mise à jour!
Pourquoi ce n'est pas la réponse sommet?
Merci!!!! La journée a également enregistré pour moi.
se terminant avec
closedir($handle);
résout votre problème? il fonctionne pour moi.OriginalL'auteur pcs
http://www.php.net/manual/en/function.ssh2-exec.php
Vous donner la
ls
commande, en supposant que c'est un système de type UNIX (généralement le cas), sinon l'OP de commande spécifiques commedir
pour Windows.ls
ne pas aider si vous souhaitez faire une boucle à travers les entrées du répertoire. Aussi, il ne fonctionnera pas si l'hôte ne permet de le SFTP subsytem et de refuser l'accès au shell.bon, ne le savaient pas. noté et +1 sur votre solution.
Serveur SSH peut fonctionner sur windows. Windows n'a pas de ls de commande.
C'était ma première idée, mais ce qui arrive quand vous n'avez pas acces à l'exécution de la commande par sftp? ensuite, cette réponse ne fonctionnent pas.
OriginalL'auteur Uku Loskit