selimppc

Image resize in Laravel 5.1

Jan 15th, 2016
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.69 KB | None | 0 0
  1. <?php
  2. namespace App\Helpers;
  3. /**
  4.  * Created by PhpStorm.
  5.  * User: etsb
  6.  * Date: 12/7/15
  7.  * Time: 5:19 PM
  8.  */
  9. class ImageResize
  10. {
  11.     /*
  12.      * $newWidth :: image size in width
  13.      * $targetFile :: taget file and location
  14.      * $originalFile  :: original file
  15.      */
  16.     public static function resize($newWidth, $targetFile, $originalFile) {
  17.         $info = getimagesize($originalFile);
  18.         $mime = $info['mime'];
  19.         switch ($mime) {
  20.             case 'image/jpeg':
  21.                 $image_create_func = 'imagecreatefromjpeg';
  22.                 $image_save_func = 'imagejpeg';
  23.                 $new_image_ext = 'jpg';
  24.                 break;
  25.             case 'image/png':
  26.                 $image_create_func = 'imagecreatefrompng';
  27.                 $image_save_func = 'imagepng';
  28.                 $new_image_ext = 'png';
  29.                 break;
  30.             case 'image/gif':
  31.                 $image_create_func = 'imagecreatefromgif';
  32.                 $image_save_func = 'imagegif';
  33.                 $new_image_ext = 'gif';
  34.                 break;
  35.             default:
  36.                 return false;
  37.         }
  38.         $img = $image_create_func($originalFile);
  39.         list($width, $height) = getimagesize($originalFile);
  40.         $newHeight = ($height / $width) * $newWidth;
  41.         $tmp = imagecreatetruecolor($newWidth, $newHeight);
  42.         imagecopyresampled($tmp, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
  43.         if (file_exists($targetFile)) {
  44.             unlink($targetFile);
  45.         }
  46.         #$image_save_func($tmp, "$targetFile.$new_image_ext"); // using extension as well as case
  47.        $image_save_func($tmp, "$targetFile");
  48.         return true;
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment