前言
本篇為實際上使用Laravel,以及套件Intervention來儲存及重新修改圖片尺寸的學習筆記。
安裝套件Intervention
安裝流程請參照 Intervention GitHub官網
composer require intervention/image
|
- 打開
config/app.php
, 在array $providers
裏頭加上Intervention\Image\ImageServiceProvider::class
|
- 在array
aliases
裏頭加上'Image' => Intervention\Image\Facades\Image::class
|
建立上傳資料夾與storage資料夾的連結
驗證圖片是否有被帶進來
$parameters = request()->all();
if (request()->hasFile('image')) { $imageURL = request()->file('image')->store('public'); $parameters['image'] = substr($imageURL, 7); }
|
重新縮放圖片大小
- 要縮放大小,所以會需要使用到套件intervention
- 在namespace下加上
use Intervention\Image\ImageManagerStatic as Image;
|
$item = Item::update($parameters);
Image::configure(array('driver' => 'gd'));
Image::make(storage_path('app/public/' . $item->image)) ->resize(300, 300) ->save(storage_path('app/public/' . $item->image));
|
刪除圖片(如果使用者要求)
if ($request->imageDelete == true) { Storage::delete($item->images); $item->update(['images' => null]); }
|
產出可存取資源的URL
// 當產出公開存取的URL,它必須要是外部存取位址 return asset('storage/' . $parameters['image']);
|
留言