1

我的站点中有一个经过身份验证的目录,其中包含一堆照片目录。如果您登录,您可以访问这些照片。

/admin/galleries/

我想在该目录之外构建另一个页面,我可以授予来宾访问权限以查看经过身份验证的目录中的目录列表。

/guest/access/

我只需要目录中目录的简单列表/admin/galleries/。我正在尝试使用scandir。

$folderlist = scandir("../../admin/galleries");

这不会返回false,但会返回空。我不确定为什么?是该目录上的身份验证阻止了通过 scandir 访问吗?我不会想到这会影响像scandir这样的服务器进程。

相对路径有问题吗?当我在其中创建一个虚拟目录/guest/access/并将 scandir 路径更改为 时scandir("."),它会输出该目录的名称。但是,如果我将同一个目录向上移动到/guest/目录中并将 scandir 更改为scandir("..")or scandir("../../guest"),它会再次返回空。这让我认为这不是身份验证问题,而是 scandir 本身的问题?

4

2 回答 2

3

尝试dirname(__FILE__)在您之前使用/../../

于 2011-01-12T17:31:25.873 回答
0

很抱歉这么久没有回答这个问题:

它没有返回空,我只是没有将正确的相对路径合并到我的 echo 语句中,而是通过返回 false 的 is_dir() 语句运行它们,因为本地目录中不存在这些目录。愚蠢的错误。

于 2011-06-14T13:03:59.137 回答