13.5.1. sfValidatorFile
sfValidatorFile
valida los archivos subidos por los usuarios. Además, el validador convierte el archivo subido en una instancia de la clase sfValidatedFile
o de la clase que se indique en la opción validated_file_class
.
Opción | Error | Descripción |
---|---|---|
max_size |
max_size |
El tamaño máximo permitido para los archivos subidos |
mime_types |
mime_types |
Array con los tipos MIME permitidos o el nombre de la categoría de tipos MIME (la única categoría disponible es web_images ) |
mime_type_guessers |
- | Array con los ejecutables de PHP encargados de adivinar el tipo MIME de los archivos (deben devolver o el tipo MIME o null ) |
mime_categories |
- | Array de categorías de tipos MIME (la categoría web_images está definida por defecto) |
path |
- | La ruta en la que se guarda el archivo y que utiliza la clase sfValidatedFile (opcional) |
validated_file_class |
- | Nombre de la clase que gestiona el archivo subido y validado (opcional) |
La categoría web_images
incluye los siguientes tipos MIME:
image/jpeg
image/pjpeg
image/png
image/x-png
image/gif
Si la opción mime_types
está activada, el validador necesita comprobar el tipo MIME del archivo subido. Por este motivo el validador ya incluye tres comprobadores de tipos MIME:
guessFromFileinfo
: utiliza la funciónfinfo_open()
(de la extensiónFileinfo
de PECL)guessFromMimeContentType
: utiliza la funciónmime_content_type()
(obsoleto)guessFromFileBinary
: utiliza el contenido del propio archivo (sólo funciona en los sistemas *nix)
Error | Variables | Valor por defecto (se muestra en inglés) |
---|---|---|
max_size |
%size% , %max_size% |
File is too large (maximum is %max_size% bytes). |
mime_types |
%mime_types% , %mime_type% |
Invalid mime type (%mime_type%). |
partial |
The uploaded file was only partially uploaded. | |
no_tmp_dir |
Missing a temporary folder. | |
cant_write |
Failed to write file to disk. | |
extension |
File upload stopped by extension. |
El validador asocia los errores de PHP de la siguiente manera:
UPLOAD_ERR_INI_SIZE
:max_size
UPLOAD_ERR_FORM_SIZE
:max_size
UPLOAD_ERR_PARTIAL
:partial
UPLOAD_ERR_NO_TMP_DIR
:no_tmp_dir
UPLOAD_ERR_CANT_WRITE
:cant_write
UPLOAD_ERR_EXTENSION
:extension