我有一个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中运行。
还有什么问题可以运行?
对于网络共享,您应该使用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