Изменить размер изображения в CodeIgniter при загрузке и сохранить изображение с измененным размером в каталоге - PullRequest
0 голосов
/ 05 февраля 2019

Я хочу изменить размер изображения при его загрузке и сохранить это изображение с использованием CodeIgniter.Я попробовал некоторый код, но не работает.Также я хочу знать, как применить это при загрузке нескольких файлов. Может ли кто-нибудь помочь

public function submited()
{
  //$this->load->library('image_lib');
  $config['upload_path'] = './images';
  $config['allowed_types'] = 'gif|jpg|png|jpeg';

  $this->load->library('upload',$config);

  if($this->upload->do_upload('myfile'))
  {
    $filedata = $this->upload->data();
    $this->load->library('image_lib');
    $this->load->library('image_lib');
    $config['allowed_types']='jpg|jpeg|png|gif';
    $config['image_library'] = 'gd2';
    $config['source_image'] = './images'; 
    $config['new_image'] = './images'; 
    $config['maintain_ratio'] = FALSE; 
    $config['width'] = 200;
    $config['height'] = 150; 
    $config['quality']   = 75;
    $this->image_lib->initialize($config);
    $this->image_lib->resize();
    $this->image_lib->clear(); 

  }
}

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Создать вспомогательную функцию.И вызовите вспомогательную функцию с путем к загруженному файлу изображения.Он заменит ваше изображение на новый размер.

public function submitd()
{
         $config['upload_path'] = './images';
         $config['allowed_types'] = 'gif|jpg|png|jpeg';
         $this->load->library('upload',$config);
         if($this->upload->do_upload('myfile'))
        {
           $filedata = $this->upload->data();
           $this->resize_image($filedata['full_path']);
        }
}
//you can create this function in helper or in same controller.
function resize_image($file_path) {
  $CI =& get_instance();
    // Set your config up
    $config['image_library']    = "gd2";      
    $config['source_image']     = $file_path;      
    $config['create_thumb']     = TRUE;      
    $config['maintain_ratio']   = TRUE;     
    $config['new_image'] = $file_path; 
    $config['width'] = "320";      
    $config['height'] = "240";  
    $config['thumb_marker']=FALSE;
    $CI->load->library('image_lib');

    $CI->image_lib->initialize($config);
    // Do your manipulation

    if(!$CI->image_lib->resize())
    {
       $CI->image_lib->display_errors();  
    } 
    $CI->image_lib->clear(); 

}
0 голосов
/ 05 февраля 2019

Для изменения размера изображений используйте библиотеку изображений в codeigniter, например:

    $this->load->library('image_lib');
    $config['allowed_types']='jpg|jpeg|png|gif'; //extension to allow
    $config['image_library'] = 'gd2';
    $config['source_image'] = $file;    //your path uploaded file
    $config['new_image'] = $targetPath;     //path to save the new file
    $config['maintain_ratio'] = FALSE; //to maintain ratio of image
    $config['width'] = 200; // width to resize image
    $config['height'] = 150; 
    $config['quality']   = 75;
    $this->image_lib->initialize($config);
    $this->image_lib->resize();
    $this->image_lib->clear();  `

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...