我正在尝试使用 读取打开的目录opendir()
,然后遍历该目录中的文件。此脚本的最终目标是将某些文件从正在读取的目录传输到不同的 FTP 服务器。
“FTP”部分是什么让我搞砸了——我不知道为什么!
在某些服务器上(此脚本预计将在多个服务器上运行)我收到以下错误:
Warning: opendir(ftp://...@jslsolutions2.flashsvr.com/streaming)
[function.opendir]: failed to open dir: FTP server reports 550
Can't find file in [PATH] on line 88
[PATH] 当然是 PHP 脚本的实际路径。
第88行如下:
if ($handle = opendir($from))
该变量$from
表示完整的 FTP 路径。
完整的FTP路径如下:
ftp://[USERNAME]:[PASSWORD]@[SERVER]/streaming
我已经确认目录是正确的。例如,当我将目录复制并粘贴到我的 Web 浏览器中时,Firefox 会完全按照预期打开一个包含所有文件的目录树。换句话说,尽管 PHP 抱怨它“找不到文件”,但“文件”(我相信是目录)确实存在。
到底是怎么回事?正如我之前提到的,这个脚本确实可以在某些服务器上运行。阻碍它的事情似乎是服务器是否基于 Windows,因为它在我测试过的 Linux 服务器上运行良好。不幸的是,我无权访问服务器,但如果我们能够隔离问题,我们的服务器管理员可以进行更改。
为什么我会收到此错误,是否有解决方法?