使用glob()显示图像,但不显示图像

时间:2013-09-12 15:04:38

标签: php

我正在进行一项任务,要求我显示服务器目录中的所有图像。我已经尝试实现glob()来做到这一点,它似乎几乎工作,但由于某种原因,图像不会出现。我正在使用xampp为页面提供服务,之前没有任何问题。我不确定问题是什么。以下是相关代码。

$size = 5;
$images = glob("../../ass1_data_stage2/jpg/*.JPG", GLOB_BRACE);
$width = (600 / $size);  

echo "<table><tr>"; 
for($i=1; $i < count($images); $i++) {
    if (($i % $size) == 0 and $i != 0) {
        echo "</tr><tr>"; 
    }

    $file = $images[$i]; 
    echo '<td><img src=$file width=$width."px" height="100px" alt="Random image" />   </td>'; 
}
echo "</tr>"; 

echo "</table>"; 

输出如下:

2 个答案:

答案 0 :(得分:1)

我不知道这是否是您的确切问题,但您的HTML语法对于图片元素不正确:

echo '<td><img src=$file width=$width."px" height="100px" alt="Random image" /></td>';

应该是:

echo '<td><img src="'.$file.'" width="'.$width.'" height="100" alt="Random image" /></td>';

你也可以使用更干净的方法:

echo "<td><img src='{$file}' width='{$width}' height='100' alt='Random image' /></td>';

答案 1 :(得分:0)

这是我在我的一个项目中使用的一个很好的例子:

我建议像这样使用glob:

    $images = glob($path . '*.{jpg,jpeg,png,gif,JPG}', GLOB_BRACE);//only images

示例:

<?php

    $folder='name of your folder ';

    $path = 'uploads/'.$folder.'/' ;// slash in the end of path
    $images = glob($path . '*.{jpg,jpeg,png,gif,JPG}', GLOB_BRACE);//only images
    foreach ($images as $image) {
         echo "<img src='$image' />";
    }
?>