PHP5, используйте функции SSH2, чтобы DL все файлы в папке, а затем удалить их с удаленного сервера

Я пытаюсь DL файл с одного сервера на другой.

$ftpHandle = ssh2_connect('ftp.remoteServer.net', 22)
ssh2_auth_password($ftpHandle, $userName, $password)

После успешного подключения и входа в систему я запускаю это:

$dir = "/dl";
$handledir = opendir($dir);

Но, конечно, это не удается... и я не знаю почему. Он говорит, что папка не существует. /dl - это абсолютный путь на удаленном сервере.

У меня такое ощущение, что "opendir" смотрит на моем локальном сервере (где он запускается), а не на удаленном.

Цель здесь состоит в том, чтобы посмотреть в этой папке и DL каждый файл в папке. После загрузки он может удалить его с удаленного сервера.

1 ответ

Решение

Перечитав ваш вопрос, я думаю, что проблема в том, что вы не говорите opendir(), что он должен работать на соединении SSH2. По умолчанию это локальная файловая система, но вы хотите, чтобы она работала на вашем SSH-соединении.

Чтобы работать с SSH-соединением, сначала инициализируйте PHP Manual подсистемы SSH SFTP, а затем получите доступ к ресурсам через оболочку файловой системы SFH SSH2:

$sftp = ssh2_sftp($ftpHandle);
$handledir = opendir("ssh2.sftp://$sftp$dir");
Другие вопросы по тегам