在当前上面的目录上使用glob?

时间:2012-05-02 16:37:09

标签: php glob

目前我有一个脚本正在运行以获取目录中的所有图像,基于“154x154.jpg”结尾。基本上我正在做的是浏览图库目录并查找图像的所有缩略图,然后我将在网站主页上的滑动图库中输出。

<?php
// loop through the images
$count = 0;
$images = array();

foreach (glob("../../uploads/2012/05/*154x154.jpg") as $filename) {
    $images[$count] = $filename;    
    $count++;
}
for ($i = 0; $i < 7; $i++) {
    $random = mt_rand(1, $count - 1);
    echo '<li><a class="gal_img" href="#">';    
    echo '<span class="roll"></span>';
    echo '<img class="image" src="'.$images[$random].'" height="154" width="154" alt="" />';
    echo '</a></li>';
}

?>

这样可以很好地工作,但我需要做的是能够从当前目录之上的目录中获取文件。更具体一点:

图片文件夹:http://root/wp-content/uploads/2012/05/
主题文件夹:http://root/wp-content/themes/theme_folder/

**编辑**

当我直接进入文件时,一切正常,上面的代码执行得很好。但是,在主题中使用它会生成除代码中的文件路径之外的所有内容。使用wordpress 3.3.2

1 个答案:

答案 0 :(得分:1)

尝试:

foreach (glob("../images/*154x154.jpg") as $filename) {

更新

当然,这是一个相对路径,只有在您需要包含的文件距离脚本当前工作目录一级时才有效。解决方案:使用绝对路径,即。一个以/开头的。另外,请记住绝对路径是磁盘上的路径,而不是网站的根文件夹。