Opendir仅适用于绝对路径


Opendir works only with absolute path

使用以下代码时:

if ($handle = opendir('../flat')) {
}

我得到这个错误:

Warning: opendir(../flat) [function.opendir]: failed to open dir: No such file or directory in D:'Inetpub'webs'mysite'newSite'lib'flat.php on line 1

使用

dirname(__FILE__);

我可以看到我的PHP脚本的正确路径:

D:'Inetpub'webs'mysite'newSite'lib

使用绝对路径opendir效果良好:

if ($handle = opendir('D:'Inetpub'webs'mysite'newSite'flat')) {
}

可能是什么问题?有人能帮我吗?

PHP的open-dir函数不适用于URL,除非它们是完全的和绝对的。您的相对路径不能与open dir一起使用,除非它是文件目录或绝对路径,如http://www.example.com/blah/blah..

根据PHP手册:

a) path支持ftp://URL包装。

b) path也可以是任何支持目录列表的URL,但是只有file://URL包装器在PHP 4 中支持这一点