Situación: necesitas implementar una funcionalidad para subir archivos en tu proyecto y lo quieres rápido.
Solución: class.upload.php
Esta clase no sólo te permite gestionar la subida de archivos sino que también manipularlos si se trata de imágenes (cortar, agregar texto, redimensionar, etc). Además cuenta con traducción al español y ha sido liberada bajo licencia GPL.
Vamos a ver un pequeño ejemplo de su funcionamiento (igualmente la clase viene con un ejemplo más extenso y documentado):
1. Descarga la clase desde en formato .tar.gz o .zip
2. Mueve a tu servidor (local o remoto) el directorio resultante
3. Crea el archivo prueba.php con el siguiente código (adapta las lineas con comentarios a los valores de tu sistema):
include_once(“class.upload.php”);
$foo = new Upload($_FILES['form_file'], ‘es_ES’); // El segundo argumento permite que se muestren los errores en español (es_ES)
define(‘DIR’,'/var/www/clases/test’); // Definimos el directorio donde se almacenarán los archivos. Debe tener permisos de escritura
define(‘MSG_SUCSS’,'Archivo transferido con éxito’); // Definimos el mensaje de transferencia exitosa
define(‘MSG_ERROR’,'Error: ‘); // Definimos el mensaje cuando ocurra un error$foo->file_max_size= ’2048000′; // Definimos el tamaño máximo permitido
$foo->allowed = array(‘application/pdf’,'application/msword’, ‘image/*’); // Definimos los tipos de archivos permitidosif ($foo->uploaded) {
$foo->Process(DIR);
if ($foo->processed) {
echo MSG_SUCSS;
} else {
echo MSG_ERROR. $foo->error;
}
}?>