1. 程式人生 > >yii2 對遠端圖片下載並壓縮處理

yii2 對遠端圖片下載並壓縮處理

yii2 對遠端圖片壓縮處理的小經驗

要求安裝imageine

在類中 use yii\imagine\Image;

public function getImg($url,$path,$quality=80)
{
    $filename = pathinfo($url)['basename'];
// 判斷本地是否存在改檔案
if(file_exists('./img/lvyou/'.$filename))
        return false;
// 獲得圖片的大小
$re = getimagesize($url);
$width = $re['0'];
$height =   $re['1'
]; // 若不存在則獲得遠端圖片 $curl = curl_init($url); curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); $imagedata = curl_exec($curl); curl_close($curl); // 儲存遠端圖片到伺服器 $filePath = \Yii::getAlias('@webroot/img/' . $path . '/' .$filename); $tp = @fopen($filePath,'a'); fwrite($tp,$imagedata); fclose($tp); // 再進行壓縮 $img = new Image
(); Image::thumbnail($url, $width, $height) ->save($filePath, ['quality' => $quality]); // 返回壓縮後的圖片 return $filename; }