【发布时间】:2011-05-22 09:06:43
【问题描述】:
我在通过 PHP 通过 SFTP 将文件从 linux 服务器发送到 windows 服务器时遇到了很多麻烦。
我似乎连接得很好,但它总是抛出一个错误,我无法在远程服务器端创建文件。可能是我弄乱了文件位置的语法。
我现在尝试了两种方法,一种使用ssh2_scp_send(),另一种尝试
fopen(ssh2.sftp://D:/path/file.csv)
此外,通过客户端登录 sftp 服务器会将我置于我的主文件夹(即 D:\path\to\home),但如果我执行
ssh2_exec($connection, 'cd');
并将流打印到屏幕上,它显示我的 ssh 会话当前位于 C 驱动器上的 Windows 文件系统中。
我希望有人对此提出一些建议。而且我不喜欢这种方法。我最终使用 php,因为它全部来自一个 drupal 模块,但我总是可以尝试并合并另一种方法。
【问题讨论】:
-
你看过 CURL 吗?它具有通过 SFTP 发送的能力。
-
我还没有,但这是我的下一个计划。我只是希望我为远程 Windows 服务器获得正确的路径。我不熟悉为 Windows 格式化它,如果我需要在路径中包含驱动器等。