miércoles, 30 de octubre de 2013

07. Taller sobre Yii Framework: Uploads de archivos usando CUploadedFile.

La clase CUploadedFile de Yii Framework, representa la información de un archivo cargado.

A continuación alguna de sus métodos para efectuar el proceso. Se usa el método getInstance para recuperar la instancia de un archivo cargado, y luego usar el método saveAs para guardarlo en el servidor. También podemos consultar otra información acerca del archivo, como el nombre, a través del método tempName,y otros métodos como type, size y error. (Referencia: CUploadedFile).

Séptima sesión del TALLER SOBRE YII FRAMEWORK, realizado por el más que conocido Cesar Cancino Zapata (desde Santiago de Chile). En esta ocasión realizaremos la subida o uploads de archivos usando la clase CUploadedFile de Yii Framework.


Ahora, vayamos a trabajar en la sesión de hoy...

VideoTutorial 7 del Taller Práctico de Yii Framework.

En este video, aprenderemos cómo es el proceso que se debe implementar en Yii para hacer upload de archivos, con el plus de que ésto los almacenaremos en la base de datos.

Para ello usaremos la clase de Yii CUploadedFile, con sus métodos
getName(), getExtensionName(), getType(), y el método saveAs() para guardar el archivo.

Crearemos un ejemplo completamente funcional, desde donde agregaremos un campo de tipo file a nuestro formulario usando, activeFileField. Le agregaremos a la etiqueta beginForm el enctype multipart/form-data como un parámetro del array de atributos, para mantener la integridad de nuestro desarrollo.

Finalmente, revisaremos cómo sería la lógica para realizar el proceso de validación de la subida, en este caso la enfocaremos en el tipo de archivo. Lo realizaremos desde el controlador, no desde las reglas ya que así se mantiene la metodología que hemos estado siguiendo durante el curso.

Todo en 38 minutos de charla.


Si quieres adentrarte en el mundo de Yii, te recomendamos la página oficial del framework haciendo clik aquí.

Si deseas conocer el trabajo de Cesar, tan solo haz clic abajo: