2012-04-05 68 views
6

Estoy tratando de cargar imágenes y cambiar su tamaño, hasta ahora la carga está funcionando y también la creación de imágenes de uñas de pulgar. Pero no puedo cambiar el tamaño de la imagen original. Todo lo que sucede es que el archivo se carga directamente a la carpeta en su tamaño original. Supongo que estoy tratando de tomar esta imagen, redimensionarla y luego sobrescribir el archivo originalmente cargado.CodeIgniter Cargar imagen y luego cambiar su tamaño

Aquí está mi código ¿Qué me falta:

//Initialise the upload file class 
    $config['upload_path'] = './image_uploads/'; 
    $config['allowed_types'] = 'jpg|jpeg|gif|png'; 
    $config['max_size'] = '6048'; 
    $this->load->library('upload', $config); 

    $userfile = "_upload_image"; 
      //check if a file is being uploaded 
      if(strlen($_FILES["_upload_image"]["name"])>0){ 

       if (!$this->upload->do_upload($userfile))//Check if upload is unsuccessful 
       { 
        $upload_errors = $this->upload->display_errors('', ''); 
        $this->session->set_flashdata('errors', 'Error: '.$upload_errors); 
        redirect('admin/view_food/'.$food->course_id); 
       } 
       else 
       { 
        //$image_data = $this->upload->data(); 

        ////[ THUMB IMAGE ] 
        $config2['image_library'] = 'gd2'; 
        $config2['source_image'] = $this->upload->upload_path.$this->upload->file_name; 
        $config2['new_image'] = './image_uploads/thumbs'; 
        $config2['maintain_ratio'] = TRUE; 
        $config2['create_thumb'] = TRUE; 
        $config2['thumb_marker'] = '_thumb'; 
        $config2['width'] = 75; 
        $config2['height'] = 50; 
        $this->load->library('image_lib',$config2); 

        if (!$this->image_lib->resize()){ 
       $this->session->set_flashdata('errors', $this->image_lib->display_errors('', '')); 
       } 

        //[ MAIN IMAGE ] 
        $config['image_library'] = 'gd2'; 
        $config['source_image'] = $this->upload->upload_path.$this->upload->file_name; 
        //$config['new_image'] = './image_uploads/'; 
        $config['maintain_ratio'] = TRUE; 
        $config['width'] = 250; 
        $config['height'] = 250; 
        $this->load->library('image_lib',$config); 

        if (!$this->image_lib->resize()){ 
       $this->session->set_flashdata('errors', $this->image_lib->display_errors('', '')); 
       } 
       }  
      } 

Respuesta

4

Did ha intentado agregar esto a las opciones de configuración

$config['overwrite'] = TRUE; 

Esto debe hacer el truco.

De acuerdo con la documentación

Si es verdadero, si un archivo con el mismo nombre que el que existe está cargando, se sobrescribirá. Si se establece en falso, se agregará un número al nombre del archivo si existe otro con el mismo nombre.

3

he estado tratando de crear imágenes en miniatura para las últimas 20 horas y que no tuvo éxito hasta que me di cuenta de dónde me estaba metiendo con el código, yo no estaba inicializando mi arsenal config !!!

Sólo tiene que añadir esta línea de código después de cargar su image_lib

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

Hope esto funciona para usted ........... aprobado!

0

Si te gusta jugar con Image with CI, te recomiendo mucho, image_moo library.

Cuestiones relacionadas