2014-11-24 11 views
0

Мне нужно изменить размер загруженного изображения и сохранить его с заданными разрешениями. Предположим, что пользователь загружает только одно единственное изображение, и я сохраняю его как 35x35, 100x100 и 512x512 после завершения загрузки. наконец, его одна загрузка сохраняет в моей папке как 3 изображения с разными разрешениями. Я сделал это до сих пор, используя laravel ...Изменение размера загруженного изображения с помощью php

public function postSingleUpload() 
    { 
     //create the relevant directory to add the user image 
     //get the directory name (directory name equals to user id) 
     $dirPath = sprintf("images/users/avatar/%s/", Auth::user()->id); 
     //create the directory named by user id 
     if (!file_exists($dirPath)) { 
      mkdir($dirPath, 0700); 
     } 

     $file = Input::file('image'); 

     //save image with given resulutions 
     //---- this part i need --------// 
    } 

поэтому, пожалуйста, помогите мне в этом.

+0

http://www.white-hat-web-design.co.uk/blog/resizing -images-with-php/ – JMc

+0

Я использую интервенцию/изображение пакета. Экономит время и отлично работает. Получите это на packagist.org. – Robbie

ответ

0

Вот что я сделал, чтобы сохранить загруженное изображение с заданными разрешениями:

//First Copy the uploaded image to some location 
    Input::file('profilePic')->move('Users/'.$username.'/Wallpics/',$name) 

    //Set this attribute for quality after resampling 
    $quality = 90; 
    $src = 'Users/'.$username.'/Wallpics/'.$name; 

    //Run this on recently saved uploaded image 
    $img = imagecreatefromjpeg($src); 

    //get this values from user by submitting form (either by crop or by textboxes) 
    $width=(int)Input::get('w'); 
    $height=(int)Input::get('h'); 
    $x=(int)Input::get('x'); 
    $y=(int)Input::get('y'); 

    //This is the code to resample the image and generate a new to ur requirements 

    $dest = ImageCreateTrueColor($width, $height); 
    imagecopyresampled($dest, $img, 0, 0,$x,$y, $width, $height,$width,$height); 
    imagejpeg($dest, 'Users/'.$username.'/profilePic/'.$name, $quality); 

    //Set the path in database 
    $profile->profilePic=asset('Users/'.$username.'/profilePic/'.$name); 
    $profile->save(); 
+0

Спасибо большое ... Это работает префект ... еще раз спасибо ... :) –

Смежные вопросы