EF Upload
Un EF Upload presenta un campo de edición (input) para seleccionar cualquier tipo de archivo del sistema de archivos del cliente. En el procesamiento del formulario donde está contenido, el archivo se almacena en el disco del servidor, por lo que se conoce como upload.
En modo alta el elemento funciona de manera natural, enviando un arreglo
con las componentes: name, type, tmp_name, error,
size. Si no hubo un error al subir el archivo deberíamos moverlo del
directorio temporal a uno propio. Por ejemplo con un ef_upload
llamado
archivo:
<?php
function evt__formulario__modificacion($datos)
{
if (isset($datos['archivo'])) {
$img = toba::proyecto()->get_www_temp($datos['archivo']['name']);
move_uploaded_file($datos['archivo']['tmp_name'], $img['path']);
}
}
?>
Cuando el ef recibe un valor en la carga, asumiendo que ya no se
encuentra en modo alta, muestra la opción de cambiar el archivo al
usuario (sino el usuario tendría que subir continuamente el mismo
archivo cada vez que pase por el formulario). Si no se quiere permitir
al usuario cambiar el archivo se lo puede poner solo_lectura
o
deshabilitar.
Más información
La estructura del estado del ef es la del $_FILES de php.
Existe un ejemplo del uso de
ef_upload
en Referencia, ítem Componentes/Formularios/ef_upload: