7

我有一个映射到驱动器号 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 中运行。

我还会遇到哪些其他问题?

4

1 回答 1

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
于 2012-11-06T23:37:39.453 回答