新聞中心
在Laravel上使用萬(wàn)象優(yōu)圖

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供三原網(wǎng)站建設(shè)、三原做網(wǎng)站、三原網(wǎng)站設(shè)計(jì)、三原網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、三原企業(yè)網(wǎng)站模板建站服務(wù),十多年三原做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
萬(wàn)象優(yōu)圖是一款強(qiáng)大的圖像處理工具,它提供了豐富的功能,包括圖片壓縮、裁剪、旋轉(zhuǎn)、水印添加等,在Laravel項(xiàng)目中,我們可以很方便地使用萬(wàn)象優(yōu)圖來(lái)處理圖片,本文將介紹如何在Laravel上使用萬(wàn)象優(yōu)圖。
1. 安裝萬(wàn)象優(yōu)圖擴(kuò)展
我們需要在Laravel項(xiàng)目中安裝萬(wàn)象優(yōu)圖的擴(kuò)展,可以通過(guò)Composer來(lái)安裝:
composer require youzhitu/laravel-youzhitu
2. 配置服務(wù)提供者
接下來(lái),我們需要在`config/app.php`文件中注冊(cè)萬(wàn)象優(yōu)圖的服務(wù)提供者:
'providers' => [
// ...
YouzhituYouzhituServiceProvider::class,
],
3. 發(fā)布配置文件和遷移文件
運(yùn)行以下命令,發(fā)布萬(wàn)象優(yōu)圖的配置文件和遷移文件:
php artisan vendor:publish --provider="YouzhituYouzhituServiceProvider"
4. 創(chuàng)建圖片模型
我們需要?jiǎng)?chuàng)建一個(gè)圖片模型,用于存儲(chǔ)圖片信息,創(chuàng)建一個(gè)名為`Image`的模型:
php artisan make:model Image
編輯`app/Models/Image.php`文件,添加以下內(nèi)容:
5. 配置圖片存儲(chǔ)路徑
在`config/filesystems.php`文件中,配置圖片的存儲(chǔ)路徑:
'disks' => [ 'public' => [ 'driver' => 'local', 'root' => public_path('images'), ], ],6. 創(chuàng)建圖片控制器
接下來(lái),我們創(chuàng)建一個(gè)圖片控制器,用于處理圖片相關(guān)的請(qǐng)求,創(chuàng)建一個(gè)名為`ImageController`的控制器:
php artisan make:controller ImageController編輯`app/Http/Controllers/ImageController.php`文件,添加以下內(nèi)容:
“`php
namespace AppHttpControllers;
use AppModelsImage;
use IlluminateHttpRequest;
use IlluminateSupportFacadesStorage;
use YouzhituFacadesYouzhitu as YouzhituFacade;
use InterventionImageFacadesImage as ImageFacade;
use IlluminateSupportFacadesFile;
use IlluminateSupportFacadesValidator;
use IlluminateSupportStr;
use IlluminateSupportFacadesResponse;
use IlluminateSupportFacadesInput;
use IlluminateSupportFacadesRedirect;
use IlluminateSupportFacadesView;
use IlluminateSupportFacadesDB;
use IlluminateSupportFacadesAuth;
use CarbonCarbon;
use File as FileFacade; //引入文件系統(tǒng)助手類庫(kù)以便使用上傳方法uploaded()函數(shù)獲取上傳的文件對(duì)象實(shí)例。 //引入File類庫(kù)以便使用getClientOriginalExtension()函數(shù)獲取上傳文件的擴(kuò)展名。 //引入U(xiǎn)ploadedFile類庫(kù)以便使用move()函數(shù)將上傳的文件移動(dòng)到指定目錄。
//引入Hash類庫(kù)以便使用make()函數(shù)生成哈希值。
//引入U(xiǎn)RL類庫(kù)以便使用action()函數(shù)生成路由鏈接。
//引入View類庫(kù)以便使用make()函數(shù)生成視圖。
//引入Validator類庫(kù)以便使用validate()函數(shù)驗(yàn)證數(shù)據(jù)。
//引入Str類庫(kù)以便使用random()函數(shù)生成隨機(jī)字符串。
//引入Response類庫(kù)以便使用json()函數(shù)返回JSON響應(yīng)。
//引入Input類庫(kù)以便使用all()函數(shù)獲取所有輸入數(shù)據(jù)。
//引入Redirect類庫(kù)以便使用back()函數(shù)重定向到上一頁(yè)。
//引入View類庫(kù)以便使用make()函數(shù)生成視圖。
//引入DB類庫(kù)以便使用table()函數(shù)獲取數(shù)據(jù)庫(kù)表名。
//引入Auth類庫(kù)以便使用user()函數(shù)獲取當(dāng)前登錄用戶。
//引入Carbon類庫(kù)以便使用now()函數(shù)獲取當(dāng)前時(shí)間。
//引入FileFacade類庫(kù)以便使用uploaded()函數(shù)獲取上傳的文件對(duì)象實(shí)例。
//引入File類庫(kù)以便使用getClientOriginalExtension()函數(shù)獲取上傳文件的擴(kuò)展名。
//引入U(xiǎn)ploadedFile類庫(kù)以便使用move()函數(shù)將上傳的文件移動(dòng)到指定目錄。
//引入Hash類庫(kù)以便使用make()函數(shù)生成哈希值。
//引入U(xiǎn)RL類庫(kù)以便使用action()函數(shù)生成路由鏈接。
//引入View類庫(kù)以便使用make()函數(shù)生成視圖。
//引入Validator類庫(kù)以便使用validate()函數(shù)驗(yàn)證數(shù)據(jù)。
//引入Str類庫(kù)以便使用random()函數(shù)生成隨機(jī)字符串。
//引入Response類庫(kù)以便使用json()函數(shù)返回JSON響應(yīng)。
//引入Input類庫(kù)以便使用all()函數(shù)獲取所有輸入數(shù)據(jù)。
//引入Redirect類庫(kù)以便使用back()函數(shù)重定向到上一頁(yè)。
//引入View類庫(kù)以便使用make()函數(shù)生成視圖。
//引入DB類庫(kù)以便使用table()函數(shù)獲取數(shù)據(jù)庫(kù)表名。
//引入Auth類庫(kù)以便使用user()函數(shù)獲取當(dāng)前登錄用戶。
//引入Carbon類庫(kù)以便使用now()函數(shù)獲取當(dāng)前時(shí)間。public function index(Request $request) { $image = Image::where(‘id’, $request->id)->first(); return view(‘image.index’, compact(‘image’));}public function upload(Request $request) { if ($request->hasFile(‘file’)) { $file = $request->file(‘file’); $extension = $file->getClientOriginalExtension(); $filename = time().’.’.$extension; $file->move(public_path(‘/images’), $filename); $image = new Image(); $image->path = ‘/images/’.$filename; $image->save(); return redirect()->route(‘image.index’)->with(‘success’, ‘Image uploaded successfully’); } else { return back()->withErrors([‘message’ => ‘Please select a file to upload’])->withInput(); } }public function delete($id) { $image = Image::find($id); if (isset($image)) { unlink(public_path($image->path)); $image->delete(); return redirect()->route(‘image.index’)->with(‘success’, ‘Image deleted successfully’); } else { return back()->withErrors([‘message’ => ‘Image not found’])->withInput(); } }public function edit($id) { $image = Image::find($id); if (isset($image)) { return view(‘image.edit’, compact(‘image’)); } else { return back()->withErrors([‘message’ => ‘Image not found’])->withInput(); } }public function update(Request $request, $id) { if ($request->hasFile(‘file’)) { $file = $request->file(‘file’); $extension = $file->getClientOriginalExtension(); $filename = time().’.’.$extension; $file->move(public_path(‘/images’), $filename); $image = Image::find($id); if (isset($image)) { $image->path = ‘/images/’.$filename; $image->save(); return redirect()->route(‘image.index’)->with(‘success’, ‘Image updated successfully’); } else { return back()->withErrors([‘message’ => ‘Image not found’])->withInput(); } } else { return back()->withErrors([‘message’ => ‘Please select a file to upload’])->withInput(); } }public function crop(Request $request, $id) { if ($request->hasFile(‘file’)) { $file = $request->file(‘file’); $extension = $file->getClientOriginalExtension(); $filename = time().’.’.$extension; $file->move(public_path(‘/images’), $filename); $image = Image::find($id); if (isset($image)) { $youzhitu = YouzhituFacade::init([ ‘driver’ => ‘local’, ‘root’ => public_path(‘/images’), ‘quality’ => ‘high’, ‘width’ => ”,br /> $request->width, ‘height’ => ”,br /> $request->height, ‘ratioX’ => ”,br /> $request->ratioX, ‘ratioY’ => ”,br /> $request->ratioY, ‘layout
網(wǎng)頁(yè)名稱:如何在Laravel上使用萬(wàn)象優(yōu)圖
網(wǎng)址分享:http://m.5511xx.com/article/dppscsc.html


咨詢
建站咨詢
