映射网络驱动器

时间:2010-04-07 13:46:15

标签: php filesystems unc shared-directory mapped-drive

我已将网络驱动器映射到家庭网络中的计算机。现在我试图通过PHP访问它 - 我做了这个快速测试:

echo opendir('Z:\\');

这给了我:

Warning: opendir(Z:\) [function.opendir]: failed to open dir: No error in C:\wamp\www\webs\tester-function.php  on line 3

我在这里做错了什么?

我不希望我的用户输入UNC路径,所以有没有办法为他们获取UNC路径,当我尝试访问它时可能会有效?这在Microsoft语言中是可能的,但我不知道如何让PHP执行此操作 - 可能使用cmd.exe命令?

请注意,映射的驱动器确实存在,因为我可以看到它,我可以访问它。它似乎也不是一个权限问题,因为我假设它会抱怨这个它可以访问该驱动器......对吗?

感谢大家的帮助

3 个答案:

答案 0 :(得分:5)

User Contributed Notes to opendir()有这个:

  

我试图使用此opendir函数访问网络驱动器。我看了很多帖子说几乎不可能访问网络驱动器,最后,我找到了答案;在同一台计算机或另一台计算机上使用PHP访问网络驱动器需要遵循两个步骤。

在这种情况下,用户权限似乎确实是问题,这可能与您的权利不同,具体取决于运行PHP / Web服务器的用户。

答案 1 :(得分:3)

简单,使用:"\\\\server\\dir\\subfolder"作为路径。确保您可以访问“服务器”。

适合我。
$arquivo = "\\\\server\\dir\\subfolder\\file.txt"; echo is_file($arquivo); //print 1.

答案 2 :(得分:2)

转到开始 - >打开服务MMC。运行(或使用搜索框,如果使用Windows 7)并键入Services.msc并按Enter键。     找到Apache服务。从未使用过WAMP,我不知道它的名字是什么。希望它从“Apache”这个词开始,因此不应该太难找到。     右键单击该服务,然后选择“属性”。     切换到“登录”选项卡。     选择“此帐户:”旁边的单选按钮,然后输入要在其下运行Apache的用户帐户的凭据。如果是网络/域帐户,请使用“DOMAIN \ user”语法(或使用“浏览”按钮搜索帐户)。     选择确定并重新启动Apache服务。     通过在任务管理器中查找“httpd.exe”进程并检查进程正在运行的用户名来验证您的更改是否有效。

参考http://board.phpbuilder.com/board/showthread.php?t=10371870&page=2

相关问题