我正在尝试重用我在这里找到的一些PHP,但是我没有太多的PHP经验而且陷入困境。
从相机上传图像时,我希望能够在不滚动的情况下在屏幕上显示尽可能大的4个最新图像。 2宽,2高:将全屏分辨率分为4个象限。最初的PHP将它们打印在一列中(通过在循环中的每个图像后添加一个中断),现在我也让它们水平打印。然而,它们太小而不能从远处合理地观看。我不确定如何打印两个,创建换行符,然后打印最后两个。或者,如果有办法使用表格,并在每个td
我现在就在这里:
<?php
$images = glob('images/*.{jpg,jpeg}', GLOB_BRACE); //formats to look for
$num_of_files = 4; //number of images to display
foreach($images as $image)
{
$num_of_files--;
if($num_of_files > -1)
echo "<img src="."'".$image."'".">";
else
break;
}
?>
我正在使用一些CSS来添加z-index,但这是基本代码。
答案 0 :(得分:1)
打印2然后换行,然后打2,你可以使用
foreach($images as $image) {
$num_of_files--;
if($num_of_files > -1){
echo '<img src="' . $image . '" id="png' . $num_of_files . '" width="50%">';
if($num_of_files % 2 == 0)
echo "<br />";
}
else
break;
}
看看关于排序glob的SO帖子 glob() - sort by date
答案 1 :(得分:0)
添加一些css;
img {
border: 0px;
margin: 0px;
display: inline;
width: 50%;
}
将是一个良好的开端。
答案 2 :(得分:0)
我试图清理你的代码并使其更具通用性:
<?php
$images = glob('images/*.{jpg,jpeg}', GLOB_BRACE); //formats to look for
$images_printed = 0;
$images_per_row = 2;
foreach($images as $image) {
echo "<img src="."'".$image."'".">";
$images_printed++;
if ($images_printed % $images_per_row == 0) {
echo "<br/>";
}
}
请注意,在代码文件的末尾不要使用?>
可以防止意外包含可能会导致格式化的空格字符。