0

我有以下代码:

$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确实作为映射驱动器存在,并且我已授予“所有人”完全权限。可能是什么问题呢?

4

1 回答 1

0

你确定没有域控制器在路上吗?

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

1) 运行 WAMP 的机器必须在同一个域中。

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

另外,我猜如果您使用 UNC 路径而不是驱动器号,id 会更好。它总是对我有用。您不需要使用转义的反斜杠,您可以将它们替换为单个正斜杠:

//yourwinserver/sharename/path/to/file.bat

于 2012-10-28T10:22:56.700 回答