0

我正在处理一项要求我显示服务器目录中的所有图像的任务。我已经尝试实现 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>"; 

输出如下所示:

4

2 回答 2

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>';
于 2013-09-12T15:11:39.370 回答
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' />";
    }
?>
于 2013-09-12T15:10:44.087 回答