使用'glob'从目录中获取所有图像

时间:2014-02-03 01:14:52

标签: php file directory glob

我正在尝试从目录中获取所有图像并打印它们。我知道我的网址是正确的,因为我回复了$ dirname以及我保存在目录中的.jpg图像。我做错了什么?

  <?php

  $dirname = "uploads/{$site_country}_{$site_state}_{$site_name}/{$record_id}/";
  $images = glob($dirname . "*.jpg");
  foreach($images as $image) {
  echo '<img src="'.$image.'"/>';
  }

  //check to see if $dirname is correct

  echo '<img src="' . $dirname . "IMG_0002.JPG" . '"/>';

  ?>

//修改

我已经解决了我的问题,删除了jpg扩展,只是为文件夹中的所有内容拉了“*”。虽然它现在对我有用,但它不是最好的做法。它必须与不同的.jpg文件格式有关吗?

2 个答案:

答案 0 :(得分:1)

您在此处使用了小写文件扩展名。

$images = glob($dirname . "*.jpg");

在测试输出中使用大写JPG。

  echo '<img src="' . $dirname . "IMG_0002.JPG" . '"/>';

如果您使用的是Linux系统,则文件扩展名区分大小写。

答案 1 :(得分:0)

您需要在dirname前加上glob的结果以获取完整路径。

类似于:

$dirname = "uploads/{$site_country}_{$site_state}_{$site_name}/{$record_id}/";
$images = glob($dirname . "*.jpg");
foreach($images as $image) {
   echo '<img src="'.$dirname.$image.'"/>';
}