0

我正在尝试使用 读取打开的目录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 服务器上运行良好。不幸的是,我无权访问服务器,但如果我们能够隔离问题,我们的服务器管理员可以进行更改。

为什么我会收到此错误,是否有解决方法?

4

1 回答 1

0

添加尾部斜杠/查看是否可以解决问题,PHP 中存在已修复的错误。

于 2013-07-26T16:03:53.907 回答