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,因为这些目录在本地目录中不存在。愚蠢的错误