【问题标题】:Is it possible to use relative paths with PHP scandir and does authentication affect scandir?是否可以在 PHP scandir 中使用相对路径并且身份验证会影响 scandir?
【发布时间】:2011-01-12 17:22:22
【问题描述】:

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

/admin/galleries/

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

/guest/access/

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

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

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

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

【问题讨论】:

    标签: php authentication relative-path scandir


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-15
        相关资源
        最近更新 更多