2016-11-01 61 views
0

任何人都可以幫助我如何在Laravel中實現調整大小的圖像嗎?在Laravel 5.2中調整圖像大小

我只有這個代碼:

if($request->hasFile('image')){ 
    if (Input::file('image')->isValid()) { 
     $file = Input::file('image'); 
     $destination = base_path() . '/public/images/ServiceImages'; 
     $extension = Input::file('image')->getClientOriginalExtension(); 
     $fileName = rand(111,99999).'.'.$extension; 

     if(!empty($data['Image'])){ 
      unlink($destination.$data['Image']); 
     } 

     $file->move($destination, $fileName); 
     $service->image=$fileName; 
    } 
} 
+0

http://image.interv ention.io/ –

回答

6

Laravel沒有圖像的默認大小調整。 但大多數laravel開發人員在處理圖像時使用'圖像干預'。 (簡單易用)

安裝(圖片干預):

STEP 1運行

composer require intervention/image 

STEP 2在你的config/app.php:

在$ providers數組,添加以下內容:

Intervention\Image\ImageServiceProvider::class 

在$別名陣列,添加以下內容:

'Image' => Intervention\Image\Facades\Image::class 

如果您有GD librabry丟失的問題,intall它

  • PHP5:命令和apt-get安裝PHP5-GD
  • PHP7:命令和apt-get安裝 php7.0-GD

~~到控制器~~

上使用

STEP 3 在您的控制器

use Intervention\Image\ImageManagerStatic as Image;

STEP 4 的頂部在你的方法(有幾種方式,但是這會給你一個想法)

if($request->hasFile('image')) { 

    $image  = $request->file('image'); 
    $filename = $image->getClientOriginalName(); 

    $image_resize = Image::make($image->getRealPath());    
    $image_resize->resize(300, 300); 
    $image_resize->save(public_path('images/ServiceImages/' .$filename)); 

} 

參考here