PHP:访问网络目录时出错

时间:2015-06-30 18:08:33

标签: php network-programming opendir

Helo那里,

我正在尝试编写一个应用程序来读取网络上映射的文件夹的内容,但我无法弄清楚我做错了什么。目标服务器没有Apache,IIS或类似的东西,但我认为这没关系,对吧?我可以使用Windows资源管理器在文件夹中导航而没有任何问题。

无论如何,这是我的代码:

<?php
error_reporting(-1);

$isFolder1 = opendir("\\\\MVM-VIRTUAL04\\");
$isFolder2 = opendir("\\\\MVM-VIRTUAL05\\WORK\\");
var_dump($isFolder1); //bool(false)
var_dump($isFolder2); //resource(3) of type (stream) 
?>

它显示以下错误:

Warning: opendir(\\MVM-VIRTUAL04\,\\MVM-VIRTUAL04\) [function.opendir]: The specified path is not valid.. (code: 161) in xxx on line 4

Warning: opendir(\\MVM-VIRTUAL04\) [function.opendir]: failed to open dir: No error in C:\xampp\htdocs\Lab\fopen.php on line 4

bool(false) resource(3) of type (stream) 

据我所知,两台服务器的结构都非常相似,但我真的不知道该怎么做了。我机器中的XAAMP和Apache在Windows 7 64位中以管理员身份运行。

我尝试使用系统,(因为服务器受到限制,但我有完全访问权限),但它也无效。

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

1 个答案:

答案 0 :(得分:1)

您无法在PHP中访问网络目录。如果你在Linux上工作,你可以通过简单地将网络驱动器安装到一个文件夹来解决这个问题,操作系统会考虑它&#34; Local&#34;,但在Windows中,它不能完成。

编辑:好的,这篇文章与我刚才所说的相矛盾,所以我对这些虚假信息道歉:

PHP is_dir() returns false on Windows network drive

但是,如果它总是返回false,则可能是文件夹没有正确共享。你确定你没有在文件夹名称中犯错吗?您还必须以管理员身份运行Apache才能使其正常工作。