我需要帮助才能在我的文件夹内联显示我的所有图片,而不是相互显示。
<?php
$files = glob("bilder/*.*");
for ($i=1; $i<count($files); $i++)
{
$image = $files[$i];
$supported_file = array(
'gif',
'jpg',
'jpeg',
'png'
);
$ext = strtolower(pathinfo($image, PATHINFO_EXTENSION));
if (in_array($ext, $supported_file)) {
echo '<img src="'.$image .'" width="400" height="500" />'."<br /><br />";
} else {
continue;
}
}
?>
答案 0 :(得分:1)
没有任何其他HTML,图像默认显示为内嵌。但是您使用"<br /><br />"
添加的中断会使此行为无效,并使图像包装成一列。
所以只需删除那些休息时间。如果您关注的是自己包装HTML代码,那么请插入换行符(\n
)。
我借此机会强调可以改进的PHP代码的某些方面:
continue;
没有用处。您可以将else
阻止; foreach
。它使代码更紧凑,同时提高了可读性; preg_grep
; 此清理会产生以下代码:
$files = preg_grep('/^.*\.gif|jpg|jpeg|png$/i', glob("bilder/*.*"));
foreach ($files as $image) {
echo "<img src='$image' width='400' height='500'/>\n";
}
关于应用于图片的HTML属性width
和height
:
这确实是值得避免的。您应该使用这些图像的正确尺寸,因为图像可能会因为强制尺寸而变得难看。如果它们是您的图像,则使这些图像具有合适的尺寸。我在上面的代码中保留了这些属性,但请重新考虑如何处理图像大小。
我注意到您在pastebin.com上分享的HTML中存在一个问题:
title
和meta
代码应移至head
代码中,不应将其显示为html
代码的直接子代。body
标记加载了背景图片。我希望你没有误解,因为肯定这个图像会与你产生的其他img
标签重叠。答案 1 :(得分:0)
你应该使用css类和样式。
echo '<img src="'.$image .'" class="someClass" />';
然后在html head中包含样式表
<link rel="stylesheet" href="stylesheet.css">
最后在stylesheet.css中设置图像样式
.someClass{
display: inline-block;
padding: 3px;
}
所有这些都是最基本的html和css内容。在提问之前,请考虑阅读一些教程。