【问题标题】:php glob() not returning all filesphp glob() 不返回所有文件
【发布时间】:2010-08-28 09:31:34
【问题描述】:

我搜索了这个网站,发现了一个非常有用的 sn-p 代码,我已经可以使用了。

  $counter = 0; 
     foreach (glob("images/gallery/photo_gallery/resized/*.jpg") as $pathToThumb)
    {
        $filename = basename($pathToThumb);
        $pathToLarge = 'images/gallery/photo_gallery/' . $filename;
        echo ('<a href="'.$pathToLarge.'"><img src="'.$pathToThumb.'" /></a>');
        $counter++;
    }

但由于某种原因,这只会返回我目录中的前 30 张图像。 (有 81 个)谁能想到为什么会这样?

谢谢。

【问题讨论】:

  • 向我们展示结果和您期望的结果
  • 你能显示一些示例文件名吗?您是否 10000% 确定它们以 jpg 结尾而不是 jpeg?确定不是版权问题?另外(与我认为的问题无关),在您创建的网络链接中,您缺少 /resized 部分。
  • 这个 $counter 变量有什么作用?是的,可能有区分大小写的名称。为什么不列出所有文件"images/gallery/photo_gallery/resized/*"?除了缩略图之外,不会有任何文件吗?
  • $counter 变量仅供我使用,因此我不必手动计算每个结果

标签: php image glob


【解决方案1】:

正如我上面所说的

$path = 'images/gallery/photo_gallery/resized/*';

就够了。或者,如果你固执地只想要 jpg,

$path = 'images/gallery/photo_gallery/resized/*.[Jj][Pg][Gg]';

按照手册的建议

【讨论】:

  • $path = 'images/gallery/photo_gallery/resized/*.[Jj][Pg][Gg]';这对我有用。谢谢:)
【解决方案2】:

感谢大家的意见。

这是答案 - 在 glob() 中使用文件扩展名时区分大小写(这是我不知道的)

我的 30 个文件以 .jpg 结尾,而其余文件已通过调整大小程序自动重命名为 .JPG

所以这意味着glob("imagesPath/*.jpg") 只返回小写匹配。

又学到了一课:)

希望这个答案也可以帮助其他人。 :)

【讨论】:

    猜你喜欢
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 2012-12-31
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多