diff options
author | canyonknight <canyonknight@gmail.com> | 2012-06-28 21:21:16 -0400 |
---|---|---|
committer | Lukas Fleischer <archlinux@cryptocrack.de> | 2012-07-06 11:27:14 +0200 |
commit | b5ffdeb63e3df5c341f9ccdafcfbaa446c5670f4 (patch) | |
tree | 7151d0dff5ee7d0e8037e25fa8dd6f15897f974a /web | |
parent | 5ebf9d64ee03e0b19f42b0475ad7750eef911392 (diff) |
pkgsubmit.php: Improve file upload error messages
* Currently, $_FILES showing a filesize of zero is interpreted as no file was
uploaded, despite other errors potentially being the cause.
* The $_FILES superglobal stores what the actual error was, so use it. This
includes file write problems, empty uploads, partial uploads, and
upload_max_filesize being exceeded.
Signed-off-by: canyonknight <canyonknight@gmail.com>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
Diffstat (limited to 'web')
-rw-r--r-- | web/html/pkgsubmit.php | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php index ca3e1fd..2fd21e6 100644 --- a/web/html/pkgsubmit.php +++ b/web/html/pkgsubmit.php @@ -28,8 +28,23 @@ if ($uid): if (isset($_REQUEST['pkgsubmit'])) { # Before processing, make sure we even have a file - if ($_FILES['pfile']['size'] == 0){ - $error = __("Error - No file uploaded"); + switch($_FILES['pfile']['error']) { + case UPLOAD_ERR_INI_SIZE: + $maxsize = ini_get('upload_max_filesize'); + $error = __("Error - Uploaded file larger than maximum allowed size (%s)", $maxsize); + break; + case UPLOAD_ERR_PARTIAL: + $error = __("Error - File partially uploaded"); + break; + case UPLOAD_ERR_NO_FILE: + $error = __("Error - No file uploaded"); + break; + case UPLOAD_ERR_NO_TMP_DIR: + $error = __("Error - Could not locate temporary upload folder"); + break; + case UPLOAD_ERR_CANT_WRITE: + $error = __("Error - File could not be written"); + break; } # Check whether the file is gzip'ed |