我想使用 PHP 读取远程文本文件(最好使用 fopen)。当我在本地文件上使用此函数时,我的脚本使用 fopen 工作。
我试过了:
$file = fopen ("http://abc.abc.abc", "r");
if (!$file) {
echo "<p>Unable to open remote file.\n";
exit;
}
我得到了:
警告:fopen(http://abc.abc.abc):打开流失败:由于目标机器主动拒绝,无法建立连接。在第 2 行的 C:\xampp\htdocs\NMR\nmrTest5.php 中无法打开远程文件。
我读过phpseclib可能是一个不错的选择,因为我可以使用 WinSCP (SFTP) 或使用 Puttyfor 访问我的文件,所以我尝试了这个(在将所有文件从 phpseclib 复制到我的目录之后)希望我可以在本地复制文件,然后用 fopen 读取它(这不是遇到的最好的事情,但我可以忍受):
include('Net/SFTP.php');
$sftp = new Net_SFTP('abc.abc.abc');
if (!$sftp->login('username', 'pass')) {
exit('Login Failed');
}
我得到了:
注意:在第 1561 行的 C:\xampp\htdocs\NMR\Net\SSH2.php 中找不到兼容的服务器到客户端加密算法 Login Failed
有趣的是,如果我连接到服务器(使用 WinSCP),我会收到不同的消息:
注意:从第 3362 行 C:\xampp\htdocs\NMR\Net\SSH2.php 中的套接字读取错误
注意:C:\xampp\htdocs\NMR\Net\SSH2.php 中的服务器在第 1471 行关闭连接登录失败
关于如何让它工作的任何想法?理想情况下,我会使用 fopen,但我愿意接受其他解决方案。