您好,登錄后才能下訂單哦!
這篇文章給大家介紹PHP中如何生成縮略圖,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
PHP生成縮略圖HTML代碼
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
< HTML>
< HEAD>
< TITLE> 上傳圖片 < /TITLE>
< META NAME="Generator" CONTENT="EditPlus">
< META NAME="Author" CONTENT="">
< META NAME="Keywords" CONTENT="">
< META NAME="Description" CONTENT="">
< meta http-equiv="Content-Type" content="text/html; charset=gbk" />
< /HEAD>
< BODY>
< FORM METHOD="POST" ACTION="tu.php?act=upload" enctype="multipart/form-data" >
< p>< INPUT TYPE="file" NAME="file"/>< /p>
< p>< INPUT TYPE="submit" value="hao"/> < INPUT TYPE="reset"/>< /p>
< /FORM>
< /BODY>
< /HTML>
PHP生成縮略圖PHP代碼
< ?php
/*后臺登陸界面
*黃春龍學習編寫
*首寫時間:2009-10-27
*更新時間:2009/11/24
*/
require_once '../xmphp/init.php';
//全站配置文件
require_once XMPHP_COMMON.'/smarty.php';
//smarty功能
require_once XMPHP_COMMON.'/mysql.php';
//mysql功能
require_once XMPHP_COMMON.'/func.php';
//常用函數
if(isset($_GET['act'])&&$_GET['act']
=='upload'){$file=$_FILES['file'];
$info=pathinfo($file['name']);
$a=array('jpg','gif','png');
if(!in_array($info['extension'],$a)){
alert("請選擇jpg,gif,png格式的圖片
進行上傳");exit;
}
if($file['name'] !=''){
$dirname=date('Ym');
$dirname='../upload/'.$dirname;
//原圖路徑
$xin=$dirname.'/s';//PHP生成縮略圖路徑
if(!file_exists($xin)){
@mkdir($xin);
}
$image1=$info['filename'].'120_120'.'.'
.$info['extension'];//縮略圖名稱$image2=$info['filename'].'300_300'.'.'
.$info['extension'];//縮略圖名稱list($imagw,$imagh)=getimagesize($file
['tmp_name']);//取得原圖的寬高(另外$file
['tmp_name']只是一個臨時文件路徑,有時可能
會報錯,如報錯只需把臨時文件路徑改成你上傳
后的原圖的路徑即可)//120圖判斷各種情況來取得縮略圖的寬高
if($imagw< =120&&$imagh< =120){
$m120w=$imagw;
$m120h=$imagh;
}elseif($imagw>$imagh)
{
$m120w=120;
$m120h=intval($m120w/number_format(
$imagw/$imagh,2));//縮略圖的寬除以(原
圖的寬除以原圖的高)number_format查手冊}
else
{
$m120h=300;
$m120w=intval($m120h/number_format(
$imagh/$imagw,2));//縮略圖的高除以(原圖
的高除以原圖的寬)number_format查手冊}
//300圖判斷各種情況來取得縮略圖的寬高
if($imagw< =300&&$imagh< =300){
$m300w=$imagw;
$m300h=$imagh;
}elseif($imagw>$imagh){
$m300w=300;
$m300h=intval($m300w/number_format(
$imagw/$imagh,2));//縮略圖的寬除以(原
圖的寬除以原圖的高)number_format查手冊}else{
$m300h=300;
$m300w=intval($m300h/number_format(
$imagh/$imagw,2));//縮略圖的高除以(原
圖的高除以原圖的寬)number_format查手冊}
if($info['extension']=='jpg'){
$info['extension']='jpeg';//判斷圖像類
型如果是JPG的則把它轉換成JPEG的因為圖像處
理函數在處理JPG的時候都是用的JPEG而不是JPG}
$iml='imagecreatefrom'.$info['extension'];
//取得不同圖片格式的不同函數
$yuan=$iml($file['tmp_name']);
//根據前面取的不同函數來取的原圖的標識
$mu1=imagecreatetruecolor($m120w,$m120h);
//取的要生成的縮略圖的標識
$mu2=imagecreatetruecolor($m300w,$m300h);
//取的要生成的縮略圖的標識
$c='image'.$info['extension'];
//生成輸出縮略圖的函數,不能分開寫,否則報錯
imagecopyresampled($mu1,$yuan,0,0,0,
0,$m120w,$m120h,$imagw,$imagh);//生成縮略圖120$res=$c($mu1,$xin.'/'.$image1);
//存放縮略圖
if(!$res){
alert('生成120縮略圖失敗');
exit;
}
imagecopyresampled($mu2,$yuan,0,0
,0,0,$m300w,$m300h,$imagw,$imagh);//PHP生成縮略圖生成縮略圖120
$res=$c($mu2,$xin.'/'.$image2);
//存放縮略圖
if($res){
alert('生成300縮略圖成功');
exit;
}
}
}
$tpl->display("tu/tu.html");
?>
關于PHP中如何生成縮略圖就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。