Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP scandir是否可以使用相对路径?身份验证是否会影响scandir?_Php_Authentication_Relative Path_Scandir - Fatal编程技术网

PHP scandir是否可以使用相对路径?身份验证是否会影响scandir?

PHP scandir是否可以使用相对路径?身份验证是否会影响scandir?,php,authentication,relative-path,scandir,Php,Authentication,Relative Path,Scandir,我的站点中有一个经过身份验证的目录,其中有一堆照片目录。如果您登录,您可以访问这些照片 /admin/galleries/ 我想在该目录之外构建另一个页面,我可以授予来宾访问权限,以查看已验证目录中的目录列表 /guest/access/ 我只需要/admin/galleries/目录中的目录的简单列表。我想用斯堪的纳维亚 $folderlist = scandir("../../admin/galleries"); 这不会返回false,但返回空。我不知道为什么?是该目录上的身份验证阻止

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

/admin/galleries/
我想在该目录之外构建另一个页面,我可以授予来宾访问权限,以查看已验证目录中的目录列表

/guest/access/
我只需要
/admin/galleries/
目录中的目录的简单列表。我想用斯堪的纳维亚

$folderlist = scandir("../../admin/galleries");
这不会返回
false
,但返回空。我不知道为什么?是该目录上的身份验证阻止了通过scandir的访问吗?我没想到这会影响像scandir这样的服务器进程


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

请尝试在您的
/../../
之前使用
dirname(\uuuuu FILE\uuuuu)
,很抱歉,这个问题没有回答这么久:

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