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

时间:2015-01-07 16:12:43

标签: php wordpress wamp glob

我正在尝试让PHP抓取文件夹中所有图像的路径(然后随机选择一个),但我不断收到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日志似乎没有记录此事件。

1 个答案:

答案 0 :(得分:1)

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

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

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