欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP實(shí)現(xiàn)圖片壓縮

 更新時(shí)間:2020年09月09日 13:39:20   作者:江南極客  
這篇文章主要為大家詳細(xì)介紹了PHP實(shí)現(xiàn)圖片壓縮,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了PHP實(shí)現(xiàn)圖片壓縮的具體代碼,供大家參考,具體內(nèi)容如下

/**
 * 生成圖片
 * @param string $im 源圖片路徑
 * @param string $dest 目標(biāo)圖片路徑
 * @param int $maxwidth 生成圖片寬
 * @param int $maxheight 生成圖片高
 */
function resizeImage($im, $dest, $maxwidth, $maxheight) {
 $img = getimagesize($im);
 switch ($img[2]) {
 case 1:
  $im = @imagecreatefromgif($im);
  break;
 case 2:
  $im = @imagecreatefromjpeg($im);
  break;
 case 3:
  $im = @imagecreatefrompng($im);
  break;
 }
 
 $pic_width = imagesx($im);
 $pic_height = imagesy($im);
 $resizewidth_tag = false;
 $resizeheight_tag = false;
 if (($maxwidth && $pic_width > $maxwidth) || ($maxheight && $pic_height > $maxheight)) {
 if ($maxwidth && $pic_width > $maxwidth) {
  $widthratio = $maxwidth / $pic_width;
  $resizewidth_tag = true;
 }
 
 if ($maxheight && $pic_height > $maxheight) {
  $heightratio = $maxheight / $pic_height;
  $resizeheight_tag = true;
 }
 
 if ($resizewidth_tag && $resizeheight_tag) {
  if ($widthratio < $heightratio)
  $ratio = $widthratio;
  else
  $ratio = $heightratio;
 }
 
 
 if ($resizewidth_tag && !$resizeheight_tag)
  $ratio = $widthratio;
 if ($resizeheight_tag && !$resizewidth_tag)
  $ratio = $heightratio;
 $newwidth = $pic_width * $ratio;
 $newheight = $pic_height * $ratio;
 
 if (function_exists("imagecopyresampled")) {
  $newim = imagecreatetruecolor($newwidth, $newheight);
  imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $pic_width, $pic_height);
 } else {
  $newim = imagecreate($newwidth, $newheight);
  imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $pic_width, $pic_height);
 }
 
 imagejpeg($newim, $dest);
 imagedestroy($newim);
 } else {
 imagejpeg($im, $dest);
 }
}
 
/**
 * 圖片壓縮處理
 * @param string $sFile 源圖片路徑
 * @param int $iWidth 自定義圖片寬度
 * @param int $iHeight 自定義圖片高度
 * @return string 壓縮后的圖片路徑
 */
function getThumb($sFile,$iWidth,$iHeight){
 //圖片公共路徑
 $public_path = '';
 //判斷該圖片是否存在
 if(!file_exists($public_path.$sFile)) return $sFile;
 //判斷圖片格式(圖片文件后綴)
 $extend = explode("." , $sFile);
 $attach_fileext = strtolower($extend[count($extend) - 1]);
 if (!in_array($attach_fileext, array('jpg','png','jpeg'))){
 return '';
 }
 //壓縮圖片文件名稱
 $sFileNameS = str_replace(".".$attach_fileext, "_".$iWidth.'_'.$iHeight.'.'.$attach_fileext, $sFile);
 //判斷是否已壓縮圖片,若是則返回壓縮圖片路徑
 if(file_exists($public_path.$sFileNameS)){
 return $sFileNameS;
 }
 
 //生成壓縮圖片,并存儲到原圖同路徑下
 resizeImage($public_path.$sFile, $public_path.$sFileNameS, $iWidth, $iHeight);
 if(!file_exists($public_path.$sFileNameS)){
 return $sFile;
 }
 return $sFileNameS;
}

使用實(shí)例:

//原圖 img/img.jpg
//生成壓縮圖 img/img_300_300.jpg
getThumb('img/img.jpg',300,300);

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家,關(guān)注腳本之家公眾號的更多精彩內(nèi)容。

相關(guān)文章

  • CI框架中redis緩存相關(guān)操作文件示例代碼

    CI框架中redis緩存相關(guān)操作文件示例代碼

    這篇文章主要介紹了CI框架中redis緩存相關(guān)操作文件,結(jié)合完整示例演示了CI框架redis緩存相關(guān)操作技巧,需要的朋友可以參考下
    2016-05-05
  • Yii框架模擬組件調(diào)用注入示例

    Yii框架模擬組件調(diào)用注入示例

    這篇文章主要介紹了Yii框架模擬組件調(diào)用注入,結(jié)合實(shí)例形式分析了Yii框架存儲服務(wù)功能組件與調(diào)用相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11
  • laravel高級的Join語法詳解以及使用Join多個(gè)條件

    laravel高級的Join語法詳解以及使用Join多個(gè)條件

    今天小編就為大家分享一篇laravel高級的Join語法詳解以及使用Join多個(gè)條件,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • php靜態(tài)成員方法和靜態(tài)的成員屬性的使用方法

    php靜態(tài)成員方法和靜態(tài)的成員屬性的使用方法

    這篇文章主要介紹了php靜態(tài)成員方法和靜態(tài)的成員屬性的使用方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家使用的時(shí)候注意方法,需要的朋友可以參考下
    2017-10-10
  • thinkPHP實(shí)現(xiàn)MemCache分布式緩存功能

    thinkPHP實(shí)現(xiàn)MemCache分布式緩存功能

    這篇文章主要介紹了thinkPHP實(shí)現(xiàn)MemCache分布式緩存功能的方法,結(jié)合實(shí)例形式分析了thinkPHP通過修改CacheMemcache.class.php源文件實(shí)現(xiàn)分布式緩存功能的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • PHP面向?qū)ο笾笃陟o態(tài)綁定功能介紹

    PHP面向?qū)ο笾笃陟o態(tài)綁定功能介紹

    這篇文章主要介紹了PHP面向?qū)ο笾笃陟o態(tài)綁定功能介紹,本文將對PHP后期靜態(tài)綁定功能進(jìn)行介紹,它主要用于解決在繼承范圍內(nèi)引用靜態(tài)調(diào)用的類,需要的朋友可以參考下
    2015-05-05
  • Laravel 5框架學(xué)習(xí)之表單

    Laravel 5框架學(xué)習(xí)之表單

    Laravel 5.0 新引入的表單請求 (Form Request) 特性提供了集規(guī)范性 (差不多就是 "最佳實(shí)踐" 的意思) 和便捷性 (這是比之前任何一種選擇都更強(qiáng)大也更便捷的方式) 于一體的, 在 Laravel 中執(zhí)行數(shù)據(jù)檢查和驗(yàn)證的新手段.
    2015-04-04
  • php redis 處理websocket聊天記錄的實(shí)例代碼

    php redis 處理websocket聊天記錄的實(shí)例代碼

    本文通過實(shí)例代碼給大家介紹了php redis 處理websocket聊天記錄的相關(guān)知識,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • php無限遍歷目錄示例

    php無限遍歷目錄示例

    這篇文章主要介紹了php無限遍歷目錄示例,需要的朋友可以參考下
    2014-02-02
  • PHP讀書筆記整理_結(jié)構(gòu)語句詳解

    PHP讀書筆記整理_結(jié)構(gòu)語句詳解

    下面小編就為大家?guī)硪黄狿HP讀書筆記整理_結(jié)構(gòu)語句詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-07

最新評論