我正在重写一个在本地服务器上处理和排序文件的函数,该函数可以在通过 ssh 连接到达的远程服务器上执行此操作。
现有系统使用 pecl ssh2 库来获取特定文件,例如:
if ($stream = @fopen("ssh2.sftp://$sftp/$filename", "r")) {
//do stuff...
}
但我还不知道文件名。我在本地使用了这个工作
$file_path = ABSOLUTE_PATH . UPLOAD_URL . $importfolder . '/';
$file = '*.xml';
$files = glob($file_path.$file);
我无法让 glob() 通过 ssh 服务器工作
$files = glob("ssh2.sftp://$sftp/*.xml");
(尽管目录中有许多 xml 文件,但始终返回空白(sftp 连接到单个目录)。
我怎样才能做到这一点?我可以在这里使用像 glob() 这样的函数吗?
你可以简单地使用ssh2 函数 http://php.net/ssh2...
ie.
$session = ssh2_connect('some.server', 22);
ssh2_auth_password($session, 'username', 'password');
$stream = ssh2_exec($session, 'ls -la /some/path');
stream_set_blocking($stream, true);
echo "list of files: " . stream_get_contents($stream);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)