2015-06-10 2 views
0

Im делает несколько загрузок файлов, которые отлично работают. im, получая оба изображения, но другое изображение, которое thumnail не получает их заданный путь, а также не меняется в размер большого пальца.Файл миниатюры Codeigniter не работает

У меня только проблемы с миниатюрами в «Создание создания миниатюр» область, на которую я надеюсь. проверьте мой массив и дайте мне знать мою ошибку.

контроллер коды

public function addimage($room_id) 
{ 
    $name_array = array(); 
    $count = count($_FILES['userfile']['size']); 
    foreach($_FILES as $key=>$value) 
    for($s=0; $s<=$count-1; $s++) 
    { 
     $_FILES['userfile']['name']=$value['name'][$s]; 
     $_FILES['userfile']['type'] = $value['type'][$s]; 
     $_FILES['userfile']['tmp_name'] = $value['tmp_name'][$s]; 
     $_FILES['userfile']['error']  = $value['error'][$s]; 
     $_FILES['userfile']['size'] = $value['size'][$s]; 
     $config['upload_path'] = './uploads/'; 
     $config['allowed_types'] = 'gif|jpg|png|jpeg'; 
     $config['encrypt_name'] = TRUE; 
     $this->load->library('upload', $config); 

     $this->upload->do_upload(); 
     $data = $this->upload->data(); 
     $name_array[] = $data['file_name']; // get file names for first file 

     //thumbnail creation start 
     $config1['image_library'] = 'gd2'; 
     $config1['source_image'] = $image['full_path']; 
     $config1['create_thumb'] = TRUE; 
     $config['allowed_types'] = 'gif|jpg|png|jpeg'; 
     $config1['maintain_ratio'] = TRUE; 
     $config1['upload_path'] = './uploads/thumbs/'; 
     $config1['width'] = 150; 
     $config1['height'] = 150; 

     $this->load->library('image_lib', $config1); 
     $this->image_lib->resize(); 
     $this->upload->do_upload(); 
     $data = $this->upload->data(); 
     $name_array1[] = $data['file_name']; // file names for thumb 
     //thumbnail creation end 
    } 

    $names= implode(',', $name_array); 
    $names2= implode(',', $name_array1);  
    //print_r($names); 
    $options = array( 
     'id' => '0', 
     'org_image' => $names, 
     'thumbnail' => $names2, 
     'room_id' => $room_id, 
     'created' => '1', 
     'status' => '1' 
    ); 

    $this->rooms_model->room_images_insert($options); 
    redirect('/admin/rooms', 'location'); 
} //end of function 
+0

** проверить мой массив и дайте мне знать свою ошибку. ** Нет, мы не можем ! –

+0

Является ли мои коды правильными, поэтому почему создание миниатюр не работает? –

+0

У вас есть запись в журнале ошибок? –

ответ

0

Заменить

$config1['source_image'] = $image['full_path'];  

Для

$config1['source_image'] = $data['full_path']; 

Также удалите следующие строки комментария

$this->image_lib->resize(); 
//$this->upload->do_upload(); 
//$data = $this->upload->data(); 
+0

Из обоих исправлений теперь изменилось изображение большого пальца, но теперь я получаю 3 изображения. один - большой палец, а другой 2 - в том же исходном размере.why –

+0

Ответ обновлен. – kazimt9

+0

теперь получает 2 изображения с правильной вещью. Но все еще есть Path 'problem' –

0

После выполнения конфигурации для вашего изображения, т.е., устанавливая изображение атрибутов, то вы должны очистить и initizliae в image_lib, чтобы получить эффект.

$this->image_lib->clear(); 
$this->image_lib->initialize($config); 
$this->image_lib->resize(); 

Примечание:

  1. Убедитесь, что вам это нужно для $config или $config1

  2. Убедитесь, что у вас есть source_image путь прямо

+0

Из обеих исправлений теперь изменилось изображение большого пальца, но теперь я получаю 3 изображения. один большой палец, а другой 2 в том же исходном размере.why –

+0

У вас есть 'do_upload()' где-нибудь еще? –

+0

yes .. check in codes ,, i use this 2 times –

0
public function addimage($room_id) 
    { 
     $name_array = array(); 
     $count = count($_FILES['userfile']['size']); 
     foreach($_FILES as $key=>$value) 
     for($s=0; $s<=$count-1; $s++) 
     { 
      $_FILES['userfile']['name']=$value['name'][$s]; 
      $_FILES['userfile']['type'] = $value['type'][$s]; 
      $_FILES['userfile']['tmp_name'] = $value['tmp_name'][$s]; 
      $_FILES['userfile']['error'] = $value['error'][$s]; 
      $_FILES['userfile']['size'] = $value['size'][$s]; 
      $config['upload_path'] = './uploads/'; 
      $config['allowed_types'] = 'gif|jpg|png|jpeg'; 
      $config['encrypt_name'] = TRUE; 
      $this->load->library('upload', $config); 
      $this->upload->do_upload(); 
      $data = $this->upload->data(); 
      $name_array[] = $data['file_name']; // get file names for first file 

    //thumbnail creation start 
      $config1['image_library'] = 'gd2'; 
      $config1['source_image'] = $data['full_path']; 
      $config1['create_thumb'] = TRUE; 
      $config['allowed_types'] = 'gif|jpg|png|jpeg'; 
      $config1['maintain_ratio'] = TRUE; 
      $config1['upload_path'] = './uploads/thumbs/'; 
      $config1['width'] = 500; 
      $config1['height'] = 150; 

      $this->load->library('image_lib', $config1); 
      $this->image_lib->clear(); 
      $this->image_lib->initialize($config1); 
      $this->image_lib->resize(); 
      $name_array1[] = $data['file_name']; // get file names for thumb file 
    //thumbnail creation end 
     } 

     $names= implode(',', $name_array); 
     $names2= implode(',', $name_array1);  
     //print_r($names); 
      $options = array( 
      'id' => '0', 
      'org_image' => $names, 
      'thumbnail' => $names2, 
      'room_id' => $room_id, 
      'created' => '1', 
      'status' => '1' 
       ); 

      $this->rooms_model->room_images_insert($options); 
      redirect('/admin/rooms', 'location'); 


    } //end of function 
Смежные вопросы