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.4. Validar la Subida de Archivos

Se necesita revisar la corrección de los archivos subidos como se hace con cualquier otro dato del formulario. Por ejemplo, podríamos necesitar revisar:

Para hacer este tipo de revisiones ZF3 provee un número de validadores de archivo útiles (listado en la tabla 10.1). Estas clases validadoras pertenecen al componente Zend\Validator y están en el espacio de nombres Zend\Validator\File.

Tabla 10.1. Validadores estándares de archivos
Nombre de la Clase Alias Descripción
Count FileCount Revisa si el total luego de contar los archivos esta en un rango dado (min, max).
WordCount FileWordCount Cuenta el número de palabras que están en un archivo y revisa si el total está en un rango dado.
Upload FileUpload Ejecuta una revisión de seguridad para asegurar que todos los archivos dados fueron realmente subidos a través de POST HTTP y si no hay errores de subida.
UploadFile FileUploadFile Ejecuta una revisión de seguridad para asegurar que un archivo fue realmente subido a través de POST HTTP y que no existieron errores de subida.
Size FileSize Revisa si el tamaño del archivo está en un rango dado.
FilesSize FileFilesSize Revisa si el tamaño total de todos los archivos dado esta en un determinado rango.
Extension FileExtension Revisa que la extensión de un archivo pertenezca a un conjunto de extensiones permitidas.
ExcludeExtension FileExcludeExtension Revisa que la extensión de un archivo NO pertenezca a un conjunto de extensiones.
MimeType FileMimeType Revisa que el tipo MIME de un archivo pertenezca a la lista de tipos MIME permitidos.
ExcludeMimeType FileExcludeMimeType Revisa que el tipo MIME de un archivo no pertenezca a la lista de tipos MIME.
IsImage FileIsImage Revisa que el archivo es una imagen gráfica (JPEG, PNG, GIF, etc.)
ImageSize FileImageSize Revisa que las dimensiones del archivo de imagen está en un rango dado.
Exists FileExists Revisa si el archivo existe en el disco.
NotExists FileNotExists Revisa si el archivo no existe en el disco.
IsCompressed FileIsCompressed Revisa si el archivo está empacado (ZIP, TAR, etc.)
Hash FileHash Revisa si el contenido del archivo coincide con uno o varios hash.
Crc32 FileCrc32 Revisa que el contenido del archivo tiene la suma de CRC32 comprobación.
Sha1 FileSha1 Revisa que el contenido del archivo tiene el hash SHA-1.
Md5 FileMd5 Revisa que el contenido del archivo tiene el hash MD5 dado.

Como podemos ver de la tabla de arriba, los validadores de archivos se pueden dividir aproximadamente en los siguientes grupos:

42) Un hash de archivo se usa para revisar la integridad de los datos del archivo (por ejemplo, para asegurar que los datos del archivo no están corruptos). Existen varios algoritmos hash disponibles: MD5, SHA-1, CRC32, etc.

Debemos notar que como los validadores de archivo están en el espacio de nombres Zend\Validator\File, su alias (que usamos cuando creamos un validador con una fábrica) comienza con el prefijo File. Por ejemplo, el validador IsImage tiene el alias FileIsImage.

Mostraremos como usar algunos de estos filtros de validación de archivo con una Galería de Imágenes de ejemplo luego en este capítulo.


Top