file_exists()和file_get_contents()在已安装的网络驱动器上的文件上失败

时间:2012-10-07 19:10:58

标签: php windows file filesystems nfs

非常自我解释。例如,文件(AB.txt)位于我的C驱动器和我的(NFS)安装的W驱动器上。 Windows 7 x64操作系统btw。

function fileExists($path){
     return (@fopen($path,"r")==true);
 }

var_dump(fileExists('C:\AB.txt'));
var_dump(fileExists('W:\AB.txt'));
var_dump(file_exists('C:\AB.txt'));
var_dump(file_exists('W:\AB.txt'));

给予

  

布尔值true
布尔值false   
布尔值true
布尔值假

我无法在php wiki上或使用google搜索时找到此行为的解释。感谢所有帮助。

1 个答案:

答案 0 :(得分:0)

如果您尝试访问Windows网络共享,则必须为WebServer配置足够的权限,例如:

$file = fopen("\\siscomx17\c\websapp.log",'r');

您将收到一条错误,告诉您路径名不存在,这将是因为Apache或IIS作为LocalSystem运行,因此您必须输入“服务”并在“打开会话”上配置Apache“创建一个足够的新用户权限,并确保目标共享具有适当的权限。