在网络驱动器上的Windows中使用PHP的fopen

时间:2012-01-31 11:13:27

标签: windows fopen network-drive mapped-drive

我有以下代码:

$file_name = "1234";
$filename = "L:\\videoette_converter\\batch_files\\".$file_name.'.bat';
if (!$handle = fopen($filename, 'a')) {
     echo "Cannot open file ($filename)";
     exit;
}

我从该代码中收到以下错误:

  

警告:fopen(L:\ videoette_converter \ batch_files \ 1234.bat)   [function.fopen]:无法打开流:没有这样的文件或目录   第47行的C:\ wamp \ www \ videoette_converter \ index.php

和我的php的调试行

  

无法打开文件(L:\ videoette_converter \ batch_files \ 1234.bat)

但是文件夹L:\videoette_converter\batch_files确实作为映射驱动器存在,并且我已经为“Everyone”提供了完全权限。可能是什么问题?

1 个答案:

答案 0 :(得分:0)

你确定没有域控制器吗?

当提供文件的Windows计算机位于Active Directory域中时:

1)运行WAMP的计算机必须位于同一个域中。

2)用于在WAMP计算机上运行Apache服务的帐户必须至少具有您要访问的共享的读取权限。您应该指定域用户帐户,而不是将Apache服务作为“本地系统”或“wampapache”运行。 (P.S。:我喜欢XampP over Wamp这种开发,但这可能仅仅是个人偏好)

如果您使用UNC路径而不是驱动器号,我猜测id会更好。它一直对我有用。您不需要使用转义反斜杠,可以用单个前向替换它们:

// yourwinserver /共享名/路径/到/ file.bat