我正在进行一项任务,要求我显示服务器目录中的所有图像。我已经尝试实现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>";
输出如下:
答案 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' />";
}
?>