php glob没有返回所有文件

时间:2015-07-29 04:21:17

标签: php load return loading glob

我在这里和网络上看过类似的问题,但没有一个解决方案有效。

我使用glob从文件夹中返回177张图片。只有一些回报。有时没有回报。每次重新加载页面时,都会加载一些图像。在检查员看来,一切都看起来像装了;整个代码应该如何。但是看着这个页面,我可以看到显然有图片缺失。

这是我的代码:

<?php

    set_time_limit(0);
    ignore_user_abort(1);

    $images = glob("images/pics/*", GLOB_BRACE);
    foreach ($images as $image) { ?>

    <div class='img_container_2 backing_center' style='background: none'>
        <img style='width: 400px' src = '<?php echo $image; ?>'/>
    </div>
<?php

    }

?>

我认为这可能是一个超时问题,但将限制设置为0并不会产生影响。非常感谢任何帮助!

3 个答案:

答案 0 :(得分:1)

PHP glob()函数在您的代码中完美运行。

您的目录存在问题:

  1. 确保您的文件夹仅包含图片
  2. 删除Thumbs.db数组
  3. 中的 $images

    删除Thumbs.db

    $key = array_search('Thumbs.db', $images );
    $new_images = unset($images[$key]);
    

    仅查找图像

    $images = glob("images/pics/*.jpg", GLOB_BRACE);
    

    注意:如果您的文件夹仅包含图片,则您不必在.jpg功能中使用glob

答案 1 :(得分:1)

您指定GLOB_BRACE作为glob的第二个参数,以使其起作用。

例如,如果您在以下文件列表中执行了glob("{a,b,c}.php", GLOB_BRACE)

a.php

b.php

c.php 

GLOB_BRACE 替换为 GLOB_NOSORT (返回目录中显示的文件(无排序)。如果不使用此标志,则按字母顺序排序路径名)

  

有关详情 see globe flags

答案 2 :(得分:0)

我的坏,我做了一件蠢事。我应该将宽度设置为相对值时将宽度设置为绝对值。我仍然不确定为什么只有一些图像显示而有些图像没有显示,但至少它现在已经修复了。无论如何,谢谢大家的帮助!