FTP opendir()--“;FTP服务器报告550[不能找到文件]”;


FTP opendir() — "FTP server reports 550 [can't find file]"

我正试图读取一个使用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服务器上运行良好。不幸的是,我无法访问服务器,尽管如果我们能够隔离问题,我们的服务器管理员可以进行更改。

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

添加一个尾部斜杠/查看是否解决了PHP中的一个错误,该错误已经修复。