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/jpegimage/pjpegimage/pngimage/x-pngimage/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ón finfo_open() (de la extensión Fileinfo de PECL)guessFromMimeContentType: utiliza la función mime_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_sizeUPLOAD_ERR_FORM_SIZE: max_sizeUPLOAD_ERR_PARTIAL: partialUPLOAD_ERR_NO_TMP_DIR: no_tmp_dirUPLOAD_ERR_CANT_WRITE: cant_writeUPLOAD_ERR_EXTENSION: extensionCapítulo original en inglés Chapter 13 - Traducido por