2015-03-06 2 views
0

Как я начинаю работать в PHP, поэтому я сталкиваюсь с трудностями даже после помощи учебников. Мой код загружает несколько изображений, но он изменяет размер только 1-го изображения, а остальные фотографии остаются такими же, как и они. Я попробовал unset и clear(), но проблема такая же. Буду очень признателен, если кто-то поможет мне решить эту проблему.Загрузка изображения и изменение размера нескольких изображений CodeIgniter

function do_upload() 
    {  
     $files = $_FILES;  
     $cpt = count($_FILES['userfile']['name']); 

     for($i=0; $i<$cpt; $i++) 
     { 

      $_FILES['userfile']['name']= $files['userfile']['name'][$i]; 
      $_FILES['userfile']['type']= $files['userfile']['type'][$i]; 
      $_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i]; 
      $_FILES['userfile']['error']= $files['userfile']['error'][$i]; 
      $_FILES['userfile']['size']= $files['userfile']['size'][$i]; 

      $config['upload_path'] = './uploads/'; 
      $config['allowed_types'] = 'gif|jpg|png'; 
      $config['max_size'] = '2000'; 
      $config['max_width'] = '1024'; 
      $config['max_height'] = '768'; 

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

      if (! $this->upload->do_upload()) 
      { 
       $error = array('error' => $this->upload->display_errors());  
       $this->load->view('upload_form', $error); 
      } 
      else 
      { 
       $data = array('upload_data' => $this->upload->data());  
       $path=$data['upload_data']['full_path']; 
       $q['name']=$data['upload_data']['file_name']; 

       $configi['image_library'] = 'gd2'; 
       $configi['source_image'] = $path; 
       $configi['maintain_ratio'] = TRUE; 
       $configi['width'] = 75; 
       $configi['height'] = 50; 

       $this->load->library('image_lib', $configi);  
       $this->image_lib->resize(); 

       $this -> load -> view('upload_success', $q); 
       unset($configi); 
       $this->load->library('image_lib'); 
       $this->image_lib->clear(); }}} 

ответ

1

на последнем 6-й строке я использовал

$this->load->library('image_lib', $configi); 

Но когда мы загружаем библиотеку в цикле с $ configi это сделать момент, когда цикл выполнения 1-й раз. использовать новые значения на каждом приросте цикла мы должны выполнять их по отдельности нравится:

$this->load->library('image_lib'); 
$this->image_lib->initialize($configi); 

и используя этот путь $ configi принять новые значения при каждом приращении в цикле.