PHP基于GD庫實(shí)現(xiàn)的生成圖片縮略圖函數(shù)示例
本文實(shí)例講述了PHP基于GD庫實(shí)現(xiàn)的生成圖片縮略圖函數(shù)。分享給大家供大家參考,具體如下:
<?php
/**
* 生成縮略圖函數(shù)(支持圖片格式:gif、jpeg、png和bmp)
* @author ruxing.li
* @param string $src 源圖片路徑
* @param int $width 縮略圖寬度(只指定高度時(shí)進(jìn)行等比縮放)
* @param int $width 縮略圖高度(只指定寬度時(shí)進(jìn)行等比縮放)
* @param string $filename 保存路徑(不指定時(shí)直接輸出到瀏覽器)
* @return bool
*/
function mkThumbnail($src, $width = null, $height = null, $filename = null) {
if (!isset($width) && !isset($height))
return false;
if (isset($width) && $width <= 0)
return false;
if (isset($height) && $height <= 0)
return false;
$size = getimagesize($src);
if (!$size)
return false;
list($src_w, $src_h, $src_type) = $size;
$src_mime = $size['mime'];
switch($src_type) {
case 1 :
$img_type = 'gif';
break;
case 2 :
$img_type = 'jpeg';
break;
case 3 :
$img_type = 'png';
break;
case 15 :
$img_type = 'wbmp';
break;
default :
return false;
}
if (!isset($width))
$width = $src_w * ($height / $src_h);
if (!isset($height))
$height = $src_h * ($width / $src_w);
$imagecreatefunc = 'imagecreatefrom' . $img_type;
$src_img = $imagecreatefunc($src);
$dest_img = imagecreatetruecolor($width, $height);
imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $width, $height, $src_w, $src_h);
$imagefunc = 'image' . $img_type;
if ($filename) {
$imagefunc($dest_img, $filename);
} else {
header('Content-Type: ' . $src_mime);
$imagefunc($dest_img);
}
imagedestroy($src_img);
imagedestroy($dest_img);
return true;
}
$result = mkThumbnail('./IMG_3324.JPG', 147, 147);
注:記得先打開 GD 庫的支持
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP中將數(shù)組轉(zhuǎn)成XML格式的實(shí)現(xiàn)代碼
網(wǎng)上找的一段代碼! 然后我自己根據(jù)php DOMDocument又寫了一段代碼,需要的朋友可以參考下。2011-08-08
探討php define()函數(shù)及defined()函數(shù)使用詳解
本篇文章是對(duì)php中define()函數(shù)及defined()函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php基于dom實(shí)現(xiàn)的圖書xml格式數(shù)據(jù)示例
這篇文章主要介紹了php基于dom實(shí)現(xiàn)的圖書xml格式數(shù)據(jù),結(jié)合實(shí)例形式分析了php數(shù)組轉(zhuǎn)換xml格式數(shù)據(jù)的相關(guān)操作技巧,需要的朋友可以參考下2017-02-02
PHP設(shè)計(jì)模式之工廠方法設(shè)計(jì)模式實(shí)例分析
這篇文章主要介紹了PHP設(shè)計(jì)模式之工廠方法設(shè)計(jì)模式,結(jié)合實(shí)例形式分析了工廠方法設(shè)計(jì)模式的概念、原理以及php一般工廠方法模式與參數(shù)化工廠方法模式具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04
實(shí)測(cè)在class的function中include的文件中非php的global全局環(huán)境
正如標(biāo)題所言經(jīng)測(cè)試的結(jié)果為:在class中include后,被include文件變量域已經(jīng)變成func中了,非全局.但是可以通過global提升,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助2013-07-07
php使用fgetcsv讀取csv文件出現(xiàn)亂碼的解決方法
這篇文章主要介紹了php使用fgetcsv讀取csv文件出現(xiàn)亂碼的解決方法,實(shí)例分析了造成亂碼的原因與對(duì)應(yīng)的解決方法,并給出了Linux平臺(tái)下的亂碼解決方法,需要的朋友可以參考下2014-11-11
php curl批處理實(shí)現(xiàn)可控并發(fā)異步操作示例
這篇文章主要介紹了php curl批處理實(shí)現(xiàn)可控并發(fā)異步操作,結(jié)合實(shí)例形式分析了php使用curl的curl_multi_*族函數(shù)進(jìn)行并發(fā)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-05-05

