PHP5,使用SSH2函数来DL文件夹中的所有文件,然后从远程服务器中删除它们

时间:2011-07-12 12:48:52

标签: php libssh2

我正在尝试将文件从一台服务器扩展到另一台服务器。

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

成功连接并登录后,我运行:

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

但当然,这失败了......我不知道为什么。它说该文件夹不存在。 / dl是远程服务器上的绝对路径。

我感觉“opendir”正在我的本地服务器上(正在运行),而不是远程服务器。

这里的目标是查看此文件夹和DL文件夹中的每个文件。下载后,它可以将其从远程服务器上删除。

1 个答案:

答案 0 :(得分:1)

重新阅读你的问题后,我认为问题是,你没有告诉opendir()它应该在SSH2连接上运行。默认情况下,它是本地文件系统,但您希望它在SSH连接上运行。

首先使用SSH连接initialize the SSH SFTP subsystem PHP Manual,然后通过SSH2 SFTP文件系统包装器访问资源:

$sftp = ssh2_sftp($ftpHandle);
$handledir = opendir("ssh2.sftp://$sftp$dir");