Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/06/2018, 18:14
Avatar de freddy31DA
freddy31DA
 
Fecha de Ingreso: junio-2012
Mensajes: 84
Antigüedad: 11 años, 10 meses
Puntos: 2
Busqueda subir dos archivos desde un formulario en codeigniter

Hola que tal amigos, hago este tema para pedir ayuda a la gente que conosca este framework.
Resulta que cuando subo un archivo, solo uno, este se sube, pero cuando intento subir la imagen y el pdf, solo se sube la imagen al servidor y para el pdf termina lanzando un error:
Código PHP:
 http:/...../biblioteca/uploads/portadas/2672afdeee857f6ef282f7ffc16c6e4e.png
Error al subir el archivo PDF
:
El tipo de archivo que esta tratando de subir no está permitido
Este el código que esta dentro de la condición if($this->input->post()){ de el método "modificar" de mi controlador libro:
Código PHP:
    if($this->form_validation->run("libro/validar")){

                          
//determinar si actualizar portada
                                
if($_FILES['portada']['size']==0){
                                    
$portada $oldportada;
                                }else{
                                        
//procesar Portada
                                    
                                        //validar foto:
                                        
$config['upload_path'] = './uploads/portadas/';
                                        
$config['allowed_types'] = 'jpg|png|';
                                        
$config['max_size'] = '5200'//5Mb
                                        
$config['encrypt_name'] = TRUE;
                                        
$config['overwrite'] = FALSE;
                                        
$config['max_with'] = '1280';
                                        
$config['max_lenght'] = '720';
                    
                                        
//cargar libreria
                                        
$this->load->library('upload'$config);
                                        if(! 
$this->upload->do_upload('portada')){
                                             
$error = array('error' => $this->upload->display_errors());
                                             
//refrescar el formulario
                                             
$this->session->set_flashdata('ControllerMessage'$error["error"]);
                                             
//previamente se cargo la libreria session en autoload
                                             //Se a definido la key de session en config.php
                                        
}
                                        if(
$error==NULL){
                                                
//procesar datos Imagen
                                            
$img $this->upload->data();
                                            
$nombre_img $img['file_name'];
                                            
$portada base_url().'uploads/portadas/'.$nombre_img;
                                            echo 
$portada;
                                          
                                        }else{
                                           echo 
'Error Al subir la imagen: '.$error["error"];
                                           break;
                                        }
                                }
                                
                                
                                
//determinar si actualizar PDF
                                
if($_FILES['pdfnuevo']['size']==0){
                                    
$pdf $oldpdf;
                                }else{
                                        
//procesar Portada
                                    
                                        //validar foto:
                                        
$config['upload_path'] = './uploads/libros/';
                                        
$config['allowed_types'] = 'pdf';
                                        
$config['max_size'] = '100000'//kylobytes en MegaBytes = 100MB (100000 x 0.001) = 100Mb
                                        
$config['encrypt_name'] = TRUE;
                                        
$config['overwrite'] = FALSE;
                                        
//$config['max_with'] = '1280';
                                        //$config['max_lenght'] = '720';
                    
                                        //cargar libreria
                                        
$this->load->library('upload'$config);
                                        if(! 
$this->upload->do_upload('pdfnuevo')){
                                             
$error = array('error' => $this->upload->display_errors());
                                             
//refrescar el formulario
                                             
$this->session->set_flashdata('ControllerMessage'$error["error"]);
                                             
//previamente se cargo la libreria session en autoload
                                             //Se a definido la key de session en config.php
                                        
}
                                        if(
$error==NULL){
                                                
//procesar datos Imagen
                                            
$pdf_file $this->upload->data();
                                            
$nombre_pdf $pdf_file['file_name'];
                                            
$pdf base_url().'uploads/libros/'.$nombre_pdf;
                                            echo 
$pdf;
                                        }else{
                                           echo 
'Error al subir el archivo PDF: '.$error["error"];
                                           break;
                                        }
                                } 
La verdad no se que sucede, cuando intento subir los dos archivos, solo la imagen se sube y el pdf no, pero si intento subir solo un pdf, este si se sube.

Ya e revisado el archivo mimes.php que esta dentro del directorio "config" y ahi esta definido de que si se acepten archivos pdf:
'pdf' => array('application/pdf', 'application/x-download')

Por favor si alguien me da una sugerencia de que pueda hacer o me dice que esta mal , le agredesco.

PD: Tengo soluciones no muy recomendadas pero lo mejor es que el usuario modifique en un solo formulario ambos archivos. En el registro e considerado
que luego de registrar los datos del libro, excepto portada y pdf lo mando a otra
pagina para que ahi registre la portada primero, luego en la siguiente pagina, el pdf
asi me evitaria este problema actual. Sin embargo creo que no es optimo, por lo que
espero que me ayuden gracias.
__________________
Creo en Internet.
Amén.