borrame.com - Colección particular de recortes de código y documentación para programación web

Canales RSS

Lo más fresco

  1. Enlaces sobre desarrollo web Modificado
  2. Cadena aleatoria en PHP Modificado
  3. Recortar texto Nuevo

Sugerencias del chef

Lo más visitado

  1. Canales RSS
  2. Formato condicional según el día de la semana
  3. Enlaces sobre desarrollo web
  4. Recortar texto
  5. Convertir de minutos a horas
Compartir esta página

Error subida ($_FILES['…']['error'])

La subida de archivos es una de las mayores fuentes de maltrato hacia el usuario de la web, aunque tampoco es que el programador las disfrute. Si tienes la suerte de poder utilizar un framework o librería que gestione las transferencias de ficheros de forma transparente este recorte no es para ti (aunque seguramente tu framework o librería estará roto y te acabará dando casi tanto trabajo como si lo hubieras hecho a mano). En otro caso, aquí tienes una función para convertir un código de error de $_FILES a texto inteligible y poder mostrar al usuario algo más específico que ¡¡¡ERROR!!!:

/** * Devuelve un mensaje en español correspondiente al código de resultado indicado (proveniente de $_FILES) * * @param int $codigo Código de la subclave 'error' * @return string * * @link http://php.net/manual/en/features.file-upload.errors.php * @version 2018-08-02 */ function error_subida($codigo) { $mensajes = array( UPLOAD_ERR_OK => // Value: 0; There is no error, the file uploaded with success. 'La subida se ha completado correctamente', UPLOAD_ERR_INI_SIZE => // Value: 1, The uploaded file exceeds the upload_max_filesize directive in php.ini. 'El archivo excede el tamaño máximo permitido', UPLOAD_ERR_FORM_SIZE => // Value: 2, The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form. 'El archivo excede el tamaño máximo sugerido', UPLOAD_ERR_PARTIAL => // Value: 3, The uploaded file was only partially uploaded. 'La subida se ha interrumpido antes de completarse', UPLOAD_ERR_NO_FILE => // Value: 4, No file was uploaded. 'No se ha subido ningún archivo', UPLOAD_ERR_NO_TMP_DIR => // Value: 6, Missing a temporary folder. Introduced in PHP 4.3.10 and PHP 5.0.3. 'Hay un problema de configuración en el servidor', UPLOAD_ERR_CANT_WRITE => // Value: 7, Failed to write file to disk. Introduced in PHP 5.1.0. 'Se ha producido un error en el servidor al guardar el archivo en disco', UPLOAD_ERR_EXTENSION => // Value: 8, A PHP extension stopped the file upload. // PHP does not provide a way to ascertain which extension caused the file upload to stop, // examining the list of loaded extensions with phpinfo() may help. Introduced in PHP 5.2.0. 'El archivo ha sido rechazado por el servidor', ); return array_key_exists($codigo, $mensajes) ? $mensajes[$codigo] : rtrim("Código de error desconocido $codigo"); }

Probablente quieras convertirlo en método de una clase y tal vez rodear los mensajes con tu función de internacionalización favorita.

Esta página ha sido impresa el miércoles 12 de agosto de 2026 (13:51:05 +0200) desde https://borrame.com/recortes/php/error-subida.html. La última vez que miré contenía HTML válido con CSS fresquito y si tiene flatas de ortografía ha sido sin querer.

Lorem ipsum dolor sit amet.

© 2005-2026 by Álvaro González (alvaro.es) • Burgos (España) • borrame.com