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
.
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 prefijoFile
. Por ejemplo, el filtroRenameUpload
tiene el aliasFileRenameUpload
.
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.