PHP生成圖片縮略圖_PHP教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
推薦:在PHP中進(jìn)行身份認(rèn)證? if(!isset(PHP_AUTH_USER)) { Header(WWW-Authenticate: Basic realm=請(qǐng)輸入你的用戶名和密碼:); Header(HTTP/1.0 401 Unauthorized); echo 驗(yàn)證失敗,你不能網(wǎng)絡(luò)資源!; exit; } else { if (PHP_AUTH_USER!=username or PHP_AUTH_PW!=password)
要使用PHP生成圖片縮略圖,要保證你的PHP服務(wù)器安裝了GD2圖形庫(kù)使用一個(gè)類生成圖片的縮略圖,類的源碼見下文
調(diào)用此類的方法:
resizeimage = new resizeimage("圖片源文件地址", "200", "100", "0","縮略圖地址");
//就只用上面的一句話,就能生成縮略圖,其中,源文件和縮略圖地址可以相同,200,100分別代表寬和高
//使用如下類就可以生成圖片縮略圖,
<?php
class resizeimage
{
//圖片類型
var type;
//實(shí)際寬度
var width;
//實(shí)際高度
var height;
//改變后的寬度
var resize_width;
//改變后的高度
var resize_height;
//是否裁圖
var cut;
//源圖象
var srcimg;
//目標(biāo)圖象地址
var dstimg;
//臨時(shí)創(chuàng)建的圖象
var im;
function resizeimage(img, wid, hei,c,dstpath)
{
this->srcimg = img;
this->resize_width = wid;
this->resize_height = hei;
this->cut = c;
//圖片的類型
this->type = strtolower(substr(strrchr(this->srcimg,"."),1));
//初始化圖象
this->initi_img();
//目標(biāo)圖象地址
this -> dst_img(dstpath);
//--
this->width = imagesx(this->im);
this->height = imagesy(this->im);
//生成圖象
this->newimg();
ImageDestroy (this->im);
}
function newimg()
{
//改變后的圖象的比例
resize_ratio = (this->resize_width)/(this->resize_height);
//實(shí)際圖象的比例
ratio = (this->width)/(this->height);
if((this->cut)=="1")
//裁圖
{
if(ratio>=resize_ratio)
//高度優(yōu)先
{
newimg = imagecreatetruecolor(this->resize_width,this->resize_height);
imagecopyresampled(newimg, this->im, 0, 0, 0, 0, this->resize_width,this->resize_height, ((this->height)*resize_ratio), this->height);
ImageJpeg (newimg,this->dstimg);
}
if(ratio<resize_ratio)
//寬度優(yōu)先
{
newimg = imagecreatetruecolor(this->resize_width,this->resize_height);
imagecopyresampled(newimg, this->im, 0, 0, 0, 0, this->resize_width, this->resize_height, this->width, ((this->width)/resize_ratio));
ImageJpeg (newimg,this->dstimg);
}
}
else
//不裁圖
{
if(ratio>=resize_ratio)
{
newimg = imagecreatetruecolor(this->resize_width,(this->resize_width)/ratio);
imagecopyresampled(newimg, this->im, 0, 0, 0, 0, this->resize_width, (this->resize_width)/ratio, this->width, this->height);
ImageJpeg (newimg,this->dstimg);
}
if(ratio<resize_ratio)
{
newimg = imagecreatetruecolor((this->resize_height)*ratio,this->resize_height);
imagecopyresampled(newimg, this->im, 0, 0, 0, 0, (this->resize_height)*ratio, this->resize_height, this->width, this->height);
ImageJpeg (newimg,this->dstimg);
}
}
}
//初始化圖象
function initi_img()
{
if(this->type=="jpg")
{
this->im = imagecreatefromjpeg(this->srcimg);
}
if(this->type=="gif")
{
this->im = imagecreatefromgif(this->srcimg);
}
if(this->type=="png")
{
this->im = imagecreatefrompng(this->srcimg);
}
}
//圖象目標(biāo)地址
function dst_img(dstpath)
{
full_length = strlen(this->srcimg);
type_length = strlen(this->type);
name_length = full_length-type_length;
name = substr(this->srcimg,0,name_length-1);
this->dstimg = dstpath;
//echo this->dstimg;
}
}
?>
分享:很有用的文件操作php函數(shù)文件讀取函式 //文件讀取函式 function PHP_Read(file_name) { fd=fopen(file_name,r); while(bufline=fgets(fd, 4096)){ buf.=bufline; } fclose(fd); return buf; } ? 文件寫入函式 //文件寫入函式 function PHP_Write(file_name,data,method=w) { filenu
相關(guān)PHP教程:
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁(yè)面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語(yǔ)言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國(guó)語(yǔ)言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
- 相關(guān)鏈接:
- 教程說(shuō)明:
PHP教程-PHP生成圖片縮略圖
。