A free and open-source book on ZF3 for beginners

Translation into this language is not yet finished. You can help this project by translating the chapters and contributing your changes.

10.5. Filtros de archivos subidos

Zend Framework 3 provee varios filtros que «transforman» los campos del archivo. Estas clases de filtro (listadas en la tabla 10.2) pertenecen al componente Zend\Filter y están en el espacio de nombres Zend\Filter\File.

Tabla 10.2. Filtros de Archivo Estándar
Nombre de la Clase Alias Descripción
Rename FileRename Cambia el nombre o mueve un archivo arbitrario.
RenameUpload FileRenameUpload Cambia el nombre o mueve el archivo cargado con revisiones de seguridad.
Encrypt FileEncrypt Cifra un archivo dado y guarda el contenido del archivo cifrado.
Decrypt FileDecrypt Descifra un archivo dado y guarda el contenido del archivo descifrado.
LowerCase FileLowerCase Convierte el contenido del archivo a letras minúsculas.
UpperCase FileUpperCase Convierte el contenido del archivo a letras mayúsculas.

De la tabla se puede ver que los filtros se pueden dividir en los siguientes grupos:

Nótese que como los filtros de archivo están en el espacio de nombres Zend\Filter\File, su alias (el que usamos cuando creamos un filtro con una fábrica) comienza con el prefijo File. Por ejemplo, el filtro RenameUpload tiene el alias FileRenameUpload.

Los filtros Encrypt y Decrypt permiten aplicar varios algoritmos de cifrado y descifrado a los archivos cargados (el algoritmo concreto se añade especificando un adaptador determinado). Los filtros LowerCase y UpperCase son útiles para convertir respectivamente archivos de texto a minúsculas y mayúsculas 43.

43) En opinión del autor, los cuatro filtros mencionados arriba no son muy útiles cuando se trabajo con archivos subidos, porque raramente necesitamos cifrar un archivo subido o convertirlo a letras minúsculas.

El filtro Rename permite renombrar o/y mover un archivo arbitrario (no solo un archivo subido). Este filtro usa internamente la función de PHP rename() y por razones de seguridad no es recomendable en general usar este filtro con archivos que se han subido.

El filtro RenameUpload parece ser mucho más útil que otros filtros, porque él permite encapsular la llamada a la función move_uploaded_file() y mover o renombrar el archivo que se ha subido desde la ubicación temporal a la carpeta definitiva. Más tarde en este capítulo, mostraremos como usar el filtro RenameUpload en una Galería de Imágenes de ejemplo.


Top