php生成小圖_php 生成縮略圖代碼 這是一款經典實用的生成小圖的php代碼,有專業素語來講就是php 生成縮略圖代碼哦。
php教程生成小圖_php 生成縮略圖代碼
這是一款經典實用的生成小圖的php代碼,有專業素語來講就是php 生成縮略圖代碼哦。
*/
# 顯示圖形及連接
function showdir ($adirectory, $i)
{
global $browsedir;$start = $i;
# 更改 $maxcols 及 $maximages 可改變每一頁顯示的小圖的行數與列數。
$maxcols = 2;
$maximages = 6;
$maximages = $i + ($maximages - 3);# 更改 $imagemaxwidth 及 $imagemaxheight 可改變顯示小圖的寬度與高度。
$imagemaxwidth = 100;
$imagemaxheight = 100;
# 計算高度與寬度的比例。$imagemaxratio = $imagemaxwidth / $imagemaxheight;
$ndirectory = sizeof ($adirectory);
echo (table_start);
for ($i; $i<=$maximages;)
{
echo (row_start);
for ($icols=1; $icols<=$maxcols; $icols++)
{
echo (col_start);
$imagefilename = $adirectory[++$i];
if (strlen($imagefilename)>0)
{
$imagepath = $browsedir."/".$imagefilename;
$imagesize = getimagesize ($imagepath);
if ($imagesize)
{
$imagewidth = $imagesize[0];
$imageheight = $imagesize[1];
$imageratio = $imagewidth / $imageheight;
if ($imageratio > $imagemaxratio)
{
$imageoutputwidth = $imagemaxwidth;
$imageoutputheight = ceil ($imagemaxwidth/$imagewidth*$imageheight);
}
else if ($imageratio < $imagemaxratio)
{
$imageoutputheight = $imagemaxheight;
$imageoutputwidth = ceil ($imagemaxheight/$imageheight*$imagewidth);
} else
{
$imageoutputwidth = $imagemaxwidth;
$imageoutputheight = $imagemaxheight;
}# 顯示圖形
echo (a_start.$imagepath.a_close);
echo (img_start.$imagepath.img_width.$imageoutputwidth.img_height.$imageoutputheight.img_end);
echo (line_break.$adirectory[$i]);
echo (a_end);
}
echo (col_end);
}
}
echo (row_end);
}
echo (table_end);
pagemenu ($browsedir, $ndirectory, $start);}
function pagemenu ($browsedir, $ndirectory, $pg) {
echo "<br><center><font face="verdana, arial, helvetica, sans-serif" size="1" color="#000033">page:";
$pg_num = 1;
for ($img_num = 0; $img_num <= $ndirectory;) {
if ($pg == $img_num) {
echo "<span class="menulink_1"><a href="thumb.php?browsedir=$browsedir&start=$img_num"> *$pg_num</a> <span>";
} else {
echo "<span class="menulink_2"><a href="thumb.php?browsedir=$browsedir&start=$img_num"> $pg_num</a> <span>";
}# 建立其他頁次的連接, 每頁顯示四張圖, 故頁數 $pg_num 每加 1 , $img_num 就加 4 。
$pg_num = $pg_num + 1;
$img_num = $img_num + 4;}
echo "</font>n";
}
function dirtoarray ($browsedir, $extensions)
{$nextensions = sizeof ($extensions);
$idirectory = 0;
$directory = dir($browsedir);
while ($entry = $directory->read())
{
for ($i=1; $i<=$nextensions; $i++)
{
$compare = stristr ($entry, $extensions[$i]);
if (strlen($compare) == strlen($extensions[$i]))
{
$adirectory[++$idirectory] = $entry;
break;
}
}
}
$directory->close();
return $adirectory;
}#主程序
#變量 $browsedir 為圖形文件放置的位置。
$browsedir="./images";
# 允許浏覽的圖形文件擴展名, 放置於數組中, 可自行增加。
$extensions[1] = "jpeg";
$extensions[2] = "jpg";
$extensions[3] = "gif";
$extensions[4] = "png";
showdir (dirtoarray ($browsedir, $extensions), $start);define ("line_break", "<br>");
define ("table_start", "<table width=600>n");
define ("table_end", "</table>n");
define ("row_start", " <tr>n");
define ("row_end", " </tr>n");
define ("col_start", " <td align=center>n ");
define ("col_end", "n </td>n");
define ("img_start", "<img src=");
define ("img_end", ">");
define ("img_width", " width=");
define ("img_height", " height=");
define ("a_start", '<a href="');
define ("a_close", '">');
define ("a_end", "</a>");
?>