使用 'glob()' 时出现 WAMP 403 禁止错误

WAMP 403 forbidden error when using 'glob()'

我试图让 PHP 获取文件夹中所有图像的路径(然后 select 随机获取一个),但我不断收到 403 - forbidden 警告。

我尝试同时使用 glob()scandir(),以及直接在浏览器中尝试路径。

这是我的代码(使用glob())-

$directory = plugins_url('images/backgrounds', __FILE__);
if(is_dir($directory)) :
    $backgrounds = glob($directory . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
endif;

我正在使用 WAMP 并在本地进行开发,所以我看不出 Apache 无法访问相关文件夹的任何原因。

$directory 是正确的,所以不是它不存在导致了问题(如果我故意将路径更改为我知道不存在的路径,则会返回 404 错误)。

我正在阻止通过 .htaccess 建立索引,但我已经删除了这一行并且没有任何区别。

任何人都可以建议我可以检查什么来尝试解决这个问题吗?谢谢。


编辑

我应该补充一点,我的 PHP 和 Apache 日志似乎没有记录此事件。

在您的代码中,您使用了 - plugins_url,它看起来像一个 Wordpress 函数,它将 return 一个 URL.

但是您必须将文件路径传递给 glob 函数。

所以你可以使用 plugin_dir_path(),一个 wordpress 函数来获取插件目录的绝对路径,可以在 glob 函数中使用。