web-dev-qa-db-fra.com

Redimensionner l'image dans Laravel 5.2

Quelqu'un peut-il m'aider à mettre en œuvre l'image de redimensionnement dans Laravel?

J'ai ce code seulement:

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;
    }
}
7
kunal

Laravel n'a pas de redimensionnement d'image par défaut. Mais la plupart des développeurs Laravel utilisent 'Image Intervention' pour manipuler l'image. (Facile à utiliser)

Pour installer (intervention d'image):

STEP 1 Run 

composer require intervention/image

STEP 2 Sur votre config/app.php: 

Dans le tableau $ providers, ajoutez ce qui suit:

Intervention\Image\ImageServiceProvider::class

Dans le tableau $ aliases, ajoutez les éléments suivants:

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

Si vous avez des problèmes, votre librairie Gd est manquante, insérez-la

  • PHP5: Sudo apt-get install php5-Gd 
  • PHP7: Sudo apt-get install Php7.0-Gd

~~ À utiliser sur votre contrôleur ~~

ÉTAPE 3 Au dessus de votre manette

use Intervention\Image\ImageManagerStatic as Image;

ÉTAPE 4 Sur votre méthode (il y a plusieurs façons mais cela vous donnera une idée)

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));

}

Référence ici

40
mpalencia

Essayez ceci, Intervention image , source ouverte PHP bibliothèque de manipulation et de manipulation d’images

2
Hiren Makwana