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
答案 0 :(得分:1)
您无法在PHP中访问网络目录。如果你在Linux上工作,你可以通过简单地将网络驱动器安装到一个文件夹来解决这个问题,操作系统会考虑它&#34; Local&#34;,但在Windows中,它不能完成。
编辑:好的,这篇文章与我刚才所说的相矛盾,所以我对这些虚假信息道歉:PHP is_dir() returns false on Windows network drive
但是,如果它总是返回false,则可能是文件夹没有正确共享。你确定你没有在文件夹名称中犯错吗?您还必须以管理员身份运行Apache才能使其正常工作。