PHP is_dir()在Windowsnetworking驱动器上返回false

我有一个networking驱动器映射到驱动器字母X:\去到“\\ X-Drive \ Public \ Data”path的外部硬盘驱动器。

我使用Zend Server和Apache。

我的PHP命令很简单

$isFolder = is_dir("x:/"); echo($isFolder); //FALSE 

你应该知道的事情:

代码:

 $isFolder = is_dir("c:/"); echo($isFolder); //TRUE 

按预期工作。

我以pipe理员用户身份运行Zend Apache服务。 我知道这是正常工作,因为在任务pipe理器httpd.exe进程显示正确的用户。

驱动器确实被映射。 我试图将它与几个用户进行映射,以包括Zend Apache使用的同一个用户无效。

我已经阅读了关于这个问题的每一个post,我可以find。 我遇到的每个问题都是由于用户权限或打字错误而导致的。 我不明白我的问题是如何落入这两类的。

我也试过了:

 system('net use X: "\\x-drive\public" password1 /user:username /persistent:no'); $isFolder(is_dir("x:/")); echo($isFolder); //FALSE 

我正在运行Windows Vista x64,生产代码将在Windows 7 x64中运行。

还有什么问题可以运行?

Solutions Collecting From Web of "PHP is_dir()在Windowsnetworking驱动器上返回false"

对于网络共享,您应该使用UNC名称: "//server/share/dir/file.ext" 来源

如果你使用IP或主机名,它应该可以正常工作:

 $isFolder = is_dir("\\\\NAS\\Main Disk"); var_dump($isFolder); //TRUE $isFolder = is_dir("//NAS/Main Disk"); var_dump($isFolder); //TRUE $isFolder = is_dir("N:/Main Disk"); var_dump($isFolder); //FALSE