Subir Archivos

En esta página se explica como hacer que un formulario sea capaz de subir un archivo.

El tipo en la BD

Helper trae soporte nativo para archivos. Con solo agregar el comentario "Type=file", HelperView creará una entrada de archivo.

Por defecto, Helper sube los archivos a la carpeta "/upload/temp" y luego los mueve a "/upload/<nombre_modulo>". Asique es muy importante que estos directorios tengan permiso de escritura. ( chmod 777 ).

Si lo que se sube es una imagen, Helper se encarga de redimesionarla y generar dos thumbnails en "/upload/<nombre_modulo>/small" y "/upload/<nombre_modulo>/medium".

NO TE OLVIDES DE CREAR LAS CARPETAS "/upload/<nombre_modulo>" , "/upload/<nombre_modulo>/small" Y "/upload/<nombre_modulo>/medium" Y PONERLES PERMISOS 777

-------------------------------------------------------
|   Field   |       Type      | Value | Comment  |
-------------------------------------------------------
| Archivo | varchar(20) |    ""    | 'Type=File'|
-------------------------------------------------------

Modelo->upload(data,[config])

No basta solo con especificar en la BD que el campo es de tipo archivo, sino también hay que llamar a la función upload(). En este ejemplo, subiremos una planilla con los records de 100 metros llanos de un corredor olímpico.

function modificarCorredor()
{
   $data = $modelo->validate();
   
   if( $modelo->hasErrors($data) )
   {
      $vista->redirect("error.php");
   }

   $data = $modelo->upload($data);
   $data->setData($data);
}
upload() devuelve un data donde rellena el ["Value"] de los campos con ["Comment"]["Type"] = "file" con el url correspondiente a donde se subió el archivo. Además agrega al ["Comment"] los siguientes valores:

Estos valores no se agregan a la BD.