0

我对 opendir 有一个奇怪的问题(与 glob 相同的问题):

$dir = "Y:\\\\foldername\\";
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "filename: $file\n";
        }
        closedir($dh);
    }
}

Y:\ 是具有身份验证的网络文件夹。我的网络服务器名称是 testweb,这个脚本叫做 tree.php。不幸的是,我的环境是基于 Windows 的(php 5.2.5 ISAPI,Windows 2003 服务器)。

当我从运行 IIS 的同一台机器(http://testweb/tree.php)打开脚本时,一切正常,但是如果我从另一台机器(例如我的笔记本电脑)连接到相同的地址,我会收到以下错误:

警告:opendir().. 未能打开目录。D:\web\tree.php 中没有错误

这似乎是一个权限问题,但为什么它是从“本地机器”而不是从外部工作?我怎样才能解决这个问题?

谢谢你的帮助!!

4

2 回答 2

1

检查您对该目录的权限..您可以使用名为is_readable的函数来完成

于 2011-10-17T15:22:29.157 回答
1

即使在我更改权限并以管理员身份登录之前,我也遇到了这个错误,但错误仍然存​​在。

我通过给出函数 opendir() 的绝对路径来解决这个问题,而不是写“子文件夹”,我写了“C:\wamp\www\myproject\subfolder”,这解决了我的问题!

谢谢

于 2014-05-23T17:04:47.930 回答