• Özkan Arıcı

  • 770 görüntülenme

  • 20 Nisan 2018

  • 0

  • Beğen

Laravel image resize ( resmi yeniden boyutlandırma)

Laravelde resim kırpma resim boyutlandırma işlemini çok basit bir şekilde gerçekleştirebiliriz.Bunun için intervention dan yararlanıcaz.Peki nasıl yapabiliriz ?

Composer ile kütüphaneimizi indirelim

composer require intervention/image

daha sonra config/app.php açıp $providers dizimize providerımızı ekleyelim

Intervention\Image\ImageServiceProvider::class

daha sonra $aliases dizimize Facademızı ekleyelim

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

Cmd den

php artisan storage:link

komutunu çalıstıralım

kurulumumuz tamamlandı.artık controllerımızın içersine en üste

use Image;

dahil ederek kullanabiliriz

<form action="{{ url('PASS_ACTION_URL') }}" method="post" enctype="multipart/form-data">
    <div class="form-group">
        <label for="exampleInputFile">File input</label>
        <input type="file" name="profile_image" id="exampleInputFile">
    </div>
    {{ csrf_field() }}
    <button type="submit" class="btn btn-default">Yükle</button>
</form>

Controller dosyamız

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Image;

class ImageController extends Controller
{

}
public function yukle(Request $request)
{
    if($request->hasFile('profile_image')) {
        
        $filenamewithextension = $request->file('profile_image')->getClientOriginalName();

        
        $filename = pathinfo($filenamewithextension, PATHINFO_FILENAME);

      
        $extension = $request->file('profile_image')->getClientOriginalExtension();

        
        $filenametostore = $filename.'_'.time().'.'.$extension;

        //Upload File
        $request->file('profile_image')->storeAs('public/profile_images', $filenametostore);
        $request->file('profile_image')->storeAs('public/profile_images/thumbnail', $filenametostore);

        //Resize image 
        $thumbnailpath = public_path('storage/profile_images/thumbnail/'.$filenametostore);
        $img = Image::make($thumbnailpath)->resize(400, 150, function($constraint) {
            $constraint->aspectRatio();
        });
        $img->save($thumbnailpath);

        return redirect('images')->with('success', "Image uploaded successfully.");
    }
}

Takıldığınız yer olursa yardımcı olurum.Bol kodlu günler

Yazar: Özkan Arıcı

326 yazı yazmış
Profilini Gör
YORUM YAP

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir.

*

code