FTP opendir() - “FTP服务器报告550 [无法找到文件]”

时间:2013-07-26 15:55:48

标签: php ftp

我正在尝试使用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服务器上运行良好。不幸的是,我无法访问服务器,但是如果我们可以解决问题,我们的服务器管理员可以进行更改。

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

1 个答案:

答案 0 :(得分:0)

添加一个尾部斜杠/看看是否能解决问题,PHP中的错误已修复。