Как просмотреть файлы каталога на другом сервере с помощью ssh2

Я хотел бы перечислить файлы каталога на другом сервере

Я подключен к другому серверу, используя функцию ssh2_connect, соединение идет хорошо, и я могу получить нужный файл, но я не уверен, как файлы могут быть перечислены.

Любая помощь предоставляется!

Вы можете использовать ssh2_sftp и opendir , например:

 <?php $connection = ssh2_connect('shell.example.com', 22); ssh2_auth_password($connection, 'username', 'password'); $sftp = ssh2_sftp($connection); $sftp_fd = intval($sftp); $handle = opendir("ssh2.sftp://$sftp_fd/path/to/directory"); echo "Directory handle: $handle\n"; echo "Entries:\n"; while (false != ($entry = readdir($handle))){ echo "$entry\n"; } 

В случае, если кто-то пытается заставить это работать, и вы используете PHP 5.6.28 появилось недавнее обновление, которое либо создало требование, либо ввело ошибку, где intval() необходимо использовать в каждой функции доступа к папке / файлу SFTP:

 $handle = opendir("ssh2.sftp://".intval($sftp)."/path/to/directory"); 

http://www.php.net/manual/en/function.ssh2-exec.php

Вы даете ему команду ls , предполагая, что это система на базе UNIX (как правило, это случай), в противном случае OP-специфическая команда, подобная dir для Windows.

 <?php $connection = ssh2_connect('shell.example.com', 22); ssh2_auth_password($connection, 'username', 'password'); $stream = ssh2_exec($connection, 'ls'); ?>