很多站长朋友们都不太清楚php中图片排列,今天小编就来给大家整理php中图片排列,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP将多张图片排列合成一张JPG 2、 PHP遍历目录下的图片,按顺序显示问题 3、 php读取图片后怎么排列???? 4、 php问题 图片排列及分页请教 PHP将多张图片排列合成一张JPG如果多张图片的大小是固定已知的,很简单的。
可以用DIV或表格模拟拼接,
也可以用图像处理函数输出为一张图片,
如果图片大小不固定,无缝拼接很麻烦。
PHP遍历目录下的图片,按顺序显示问题<?php
error_reporting(0);
echo "<html><head><title>图片</title></head><body bgcolor=000000><center><font size=2 color=red>"; //输出html相关代码
$page = $_GET['page']; //获取当前页数
$max = 3; //设置每页显示图片最大张数
$dir = "./image/";
$handle = opendir($dir); //当前目录
while (($file = readdir($handle)) !== false) { //遍历该php文件所在目录
list($filesname, $kzm) = explode(".", $file); //获取扩展名
if ($kzm == "gif" or $kzm == "jpg" or $kzm == "JPG" or $kzm == "png") { //文件过滤
if (!is_dir('./' . $file)) { //文件夹过滤
$array[] = $file; //把符合条件的文件名存入数组
$i++; //记录图片总张数
}
}
}
for ($j = $max * $page; $j < ($max * $page + $max) $j < $i; ++$j) { //循环条件控制显示图片张数
echo "<img widht=200 height=200 src=image\\" . $array[$j] . ">" . "<br>"; //输出图片数组
}
$Previous_page = $page - 1;
$next_page = $page + 1;
if ($Previous_page < 0) {
echo "上页";
echo "<a href=?page=$next_page>下页</a>";
} else if ($page <= $i / $max) {
echo "<a href=?page=$Previous_page>上页</a>";
echo "<a href=?page=$next_page>下页</a>";
} else {
echo " <a href=?page=$Previous_page>上页</a>";
echo "下页";
}
echo "</center></body></html>";
?>
php读取图片后怎么排列????完全可以用DIV+CSS 布局方式解决。
循环输出9个
举个最简单的例子:
ul,ul li{display:block;list-style:none;margin:0;padding:0;}
ul{width:300px; overflow:hidden;}
li{width:100px;height:90px; float:left; overflow:hidden; }
li img{width:100px;}
<ul>
<li><img /><li>
<li><img /><li>
<li><img /><li>
<li><img /><li>
<li><img /><li>
<li><img /><li>
<li><img /><li>
<li><img /><li>
<li><img /><li>
</ul>
具体,你可以调试一下。重新设置宽高,调到合适比例。
非要用PHP 写,你 在循环输出的时候,记录循环次数,运行取模(好像是%号表示的) if( 循环次数 % 3 = 0) echo '设置换行的表示。'
php问题 图片排列及分页请教你有没有觉得你的程序看起来很累~
我提几个意见,看明白了你的问题可能就解决了~
一、对于参数的判断要修改,你点下一页的时侯,可能是GET传送,不一定是POST,所以不能只从POST获取,否则下一页的时侯就变成显示所有数据了。判断是否有参数的语句可以统一写,不用获取总数和内容的时侯都判断,例如可以这样写:
if(isset($_REQUEST['keyword'])) $where="where proname like '%{$_REQUEST['keyword']}%'";
else $where='';
$query1 = "SELECT COUNT(*) AS totalrows FROM sys_product $where";
$query = "SELECT * FROM sys_product $where order by id desc LIMIT $startnum,$maxnum";
二、不要反复使用<? ?>,整个程序可以就写在一对<?php ?>里面,使用定界符号可以实现,例如:
while ($row=mysql_fetch_array($result)){
$propic = $row['propic']=="" ? "/images/no.jpg" : "/admin/".$row['propic'];
$price = number_format($row['proprice'], 2);
echo <<<END
<tr>
<td width="31%" rowspan="2" style="padding:4px 8px 4px 0px">
<a href="dc_detail.php?id={$row['Id']}">
<img src="/data/upload/help/202303/13/b69d8b4ecfa6f702336acfeda74dcb22." name="dish_image" width="90" height="70" border="0" id="dish_image"></a></td>
<td width="69%" height="25">
<span class="STYLE21">{$row['proname']}</span>
<span class="STYLE23">{$row['pronum']}份)</span> </td>
</tr>
<tr>
<td class="chinazi">非常好吃非常地道的<br />
<span class="STYLE22">CALORIE</span>:{$row['kll']}<br />
价格:<span class="STYLE25">{$price}</span>
<span class="STYLE26">元</span><br/>
<a href="#" style="float:right"> 详细>></a></td>
</tr>
END;
}
三、最后一个问题,你现在每个显示的两行(两个<tr>),你希望修改为每行三个,其实很简单,我只提示一下,可以把现在每个循环的内容改在一个<table>里面,然后使用一个大的<table>实现每行三个,例如下面的结果:
echo '<table>';//最大的table>
$i=0;//已经输出的个数
while ($row=mysql_fetch_row(...)){
if ($i % 3==0) echo '<tr>';
echo '<td><table>';
//这里写现在while里面的所有语句
echo '</table>';
$i++;
}
echo '</table>';//最大的table>
关于php中图片排列的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php中图片排列 php怎么排序的详细内容...