我有一个网络驱动器映射到驱动器号X:\转到外部硬盘驱动器,路径为“\\ X-Drive \ Public \ Data”。
我正在使用Zend Server和Apache。
我的PHP命令很简单
$isFolder = is_dir("x:/");
echo($isFolder); //FALSE
你应该知道的事情:
代码:
$isFolder = is_dir("c:/");
echo($isFolder); //TRUE
按预期工作。
我以管理员用户身份运行Zend Apache服务。我知道这是正常工作的,因为在任务管理器中,httpd.exe进程显示正确的用户。
确实映射了驱动器。我已经尝试将它映射到几个用户,包括Zend Apache使用的相同用户无济于事。
我已经阅读了我能找到的关于此事的每一篇文章。我遇到的每个问题都存在于用户权限或拼写错误之中。我不知道我的问题如何落入任何一类。
我也尝试过:
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中运行。
我可以遇到哪些其他问题?
答案 0 :(得分:8)
对于网络共享,您应该使用UNC名称:
"//server/share/dir/file.ext"
Source
如果您使用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