Breaking

Post Top Ad

Your Ad Spot

domingo, 10 de marzo de 2019

Cómo subir archivos en CodeIgniter

Nuestros tutoriales están diseñados para simplificar el desarrollo web. Las instrucciones paso a paso hacen que nuestro tutorial sea más fácil para el desarrollador. Por lo tanto, a los desarrolladores web les gusta nuestro tutorial en lugar del manual de usuario oficial. Recientemente hemos recibido muchas solicitudes para publicar el tutorial sobre la carga de archivos de CodeIgniter y al instante hemos decidido publicar este tutorial.
Este tutorial le mostrará cómo cargar un archivo en CodeIgniter usando la clase de carga de archivos . La clase de carga de archivos de CodeIgniter ayuda a cargar archivos en el servidor. Puede usar varias preferencias para configurar su carga de archivos y restringir el tipo y tamaño de los archivos.
Para su mejor comprensión, demostraremos la carga del archivo con un ejemplo. Además, cargaremos la imagen del usuario en el servidor e insertaremos los datos del usuario en la base de datos.
Antes de comenzar el tutorial, eche un vistazo a la estructura de carpetas y archivos en función de esta aplicación de ejemplo.
codeigniter-archivo-subir-tutorial-carpetas-archivos-estructura-por-codexworld

Creación de la tabla de base de datos (usuarios):

Antes de comenzar a escribir el código, cree una tabla en la base de datos de su aplicación. Para este ejemplo, puede crear una userstabla en la base de datos con algunos campos básicos. La tabla de usuarios SQL le gustaría lo siguiente.
CREAR  TABLA ` usuarios ` (
  `id`  int ( 11 ) NOT NULL AUTO_INCREMENT,
  ` name`  varchar ( 100 ) compilar utf8_unicode_ci NOT NULL ,
  `email`  varchar ( 255 ) compilar utf8_unicode_ci NOT NULL ,
  ` picture`  varchar ( 255 ) compilar utf8_unicode_ci NOT NULL ,
  `created` datetime NOT NULL ,
  ` modified` datetime NOT NULL ,
  `status` tinyint ( 1 ) NO NULL POR DEFECTO '1' COMENTARIO '1 = Activo, 0 = Inactivo' ,
  CLAVE PRIMARIA ( `id` )
) MOTOR = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;

Controlador (Users.php):

Crear un controlador llamado Users.phpColoque el siguiente código en él y guarde este archivo en el application/controllers/directorio. Modelo de 
usuario cargado en la __construct()función para insertar datos de usuario en la base de datos. 
Inicialmente, la add()función cargará al usuario agregando formulario. Cuando se envíe el formulario, la imagen se cargará y los datos se insertarán en la base de datos a través del modelo de usuario .
<? php defined ( 'BASEPATH' ) O exit ( 'No se permite el acceso directo al script' ); 
Los usuarios de la  clase  amplían el  controlador_CIN { 
    función   __construct () { 
        parent :: __construct (); 
        $ this -> load -> model ( 'usuario' ); 
    } 
    
    función  add () { 
        if ( $ this -> input -> post ( 'userSubmit' )) { 
            
            // Compruebe si el usuario carga la imagen 
            si (! empty ( $ _FILES[ 'imagen' ] [ 'nombre' ])) { 
                $ config [ 'upload_path' ] =  ' uploads / images /' ; 
                $ config [ 'allowed_types' ] =  'jpg | jpeg | png | gif' ; 
                $ config [ 'nombre_archivo' ] =  $ _FILES [ 'imagen' ] [ 'nombre' ]; 
                
                // Cargar la biblioteca de carga e inicializar la configuración 
                $ this -> load -> library ( 'upload' , $ config ); 
                $ esto -> subir ->$ config ); 
                
                if ( $ this -> upload -> do_upload ( 'picture' )) { 
                    $ uploadData  $ this -> upload -> data (); 
                    $ picture  $ uploadData [ ' file_name ' ]; 
                } else { 
                    $ picture  '' ; 
                } 
            } else else { 
                $ picture  '' ; 
            } 
            
            // Preparar el conjunto de datos de usuario 
            $ userData  = array ( 
                'name'  =>  $ this-> entrada -> publicación ( 'nombre' ), 
                'correo electrónico'  =>  $ esto -> entrada -> publicación ( 'correo electrónico' ), 
                'imagen'  =>  $ imagen 
            ); 
            
            // Pase los datos del usuario al modelo 
            $ insertUserData  $ this -> user -> insert ( $ userData ); 
            
            // Almacenar mensaje de estado de inserción. 
            if ( $ insertUserData ) { 
                $ this -> session -> set_flashdata ( 'success_msg' 'Los datos del usuario se han añadido con éxito.' ); 
            } else { 
                $ this -> session -> set_flashdata ( 'error_msg' ' Ocurrieron algunos problemas, inténtalo de nuevo.' ); 
            } 
        } 
        // Formulario para agregar datos de usuario 
        $ this -> load -> view ( 'users / add' ); 
    } 
}
Hemos utilizado algunas Preferencias requeridas en nuestra configuración de carga de archivos. Puede obtener todas las Preferencias disponibles desde aquí: https://codeigniter.com/user_guide/libraries/file_uploading.html#preferences

Modelo (User.php):

Crea un modelo llamado User.phpColoque el siguiente código en él y guarde este archivo en el application/models/directorio. 
insert()Función insertar los datos proporcionados en la tabla de usuarios.
<? php  if (!  defined ( 'BASEPATH' )) exit ( 'No se permite el acceso directo al script' ); 
clase de  usuario  se extiende  CI_Model { 
    función  __construct () { 
        $ this -> nombreTabla  'usuarios' ; 
        $ this -> primaryKey  'id' ; 
    } 
    
inserción de     función pública  ( $ data  = array ()) { 
        if (! array_key_exists ( "created" , $ data )) { 
            $ data ['created' ] =  date ( "Ymd H: i: s" ); 
        } 
        if (! array_key_exists ( "modificado" , $ datos )) { 
            $ datos [ 'modificado' ] =  fecha ( "Ymd H: i: s" ); 
        } 
        $ insert  $ this -> db -> insert ( $ this -> tableName , $ data ); 
        if ( $ insert ) { 
            return  $ this -> db -> insert_id(); 
        } else { 
            devolver  falso ;    
        } 
    } 
}

Ver (add.php):

Crear una vista llamada add.phpColoque el siguiente código en él y guarde este archivo en el application/views/users/directorio. 
add.phpEl archivo contiene un formulario HTML, se utiliza para recopilar los datos del usuario y enviarlos al controlador.
<? php  echo  $ this -> session -> flashdata ( 'success_msg' ); ?> 
<? php  echo  $ this -> session -> flashdata ( 'error_msg' ); ?> 
< form  role = "form"  method = "post"  enctype = "multipart / form-data" >
    < div  class = "panel" >
        < div  class = "panel-body" >
            < div  class = "form-group" >
                < etiqueta > Imagen </ etiqueta >
                < input  class = "form-control"  type = "file"  name = "picture" />
            </ div >
            < div  class = "form-group" >
                < etiqueta > Nombre </ etiqueta >
                < input  class = "form-control"  type = "text"  name = "name" />
            </ div >
            < div  class = "form-group" >
                < etiqueta > Correo electrónico </ etiqueta >
                < input  class = "form-control"  type = "text"  name = "email" />
            </ div >
             < div  class = "form-group" >
                < input  type = "submit"  class = "btn btn-warning"  name = "userSubmit"  value = "Add" >
            </ div >
        </ div >
    </ div >
</ form >

Creando el Directorio de Subida:

Crea el uploads/images/directorio para almacenar las imágenes cargadas.

Conclusión

En este tutorial, intentamos mostrar el ejemplo básico de la carga de archivos CodeIgniter. Esperamos que haya aprendido cómo cargar un archivo en CodeIgniter usando la biblioteca de carga. Si tiene alguna pregunta sobre la carga de archivos de CodeIgniter, háganoslo saber comentando aquí.

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Post Top Ad

Your Ad Spot

Páginas