处理文件上传错误
$_FILES["FILE_NAME"]['error']
(其中 FILE_NAME
是文件输入的 name 属性的值,存在于表单中)可能包含以下值之一:
UPLOAD_ERR_OK
- 没有错误,文件上传成功。UPLOAD_ERR_INI_SIZE
- 上传的文件超过了php.ini
中的 upload_max_filesize 指令。UPLOAD_ERR_PARTIAL
- 上传的文件超出了 HTML 表单中指定的 MAX_FILE_SIZE 指令。UPLOAD_ERR_NO_FILE
- 没有上传文件。UPLOAD_ERR_NO_TMP_DIR
- 缺少一个临时文件夹。 (来自 PHP 5.0.3)。UPLOAD_ERR_CANT_WRITE
- 无法将文件写入磁盘。 (来自 PHP 5.1.0)。UPLOAD_ERR_EXTENSION
- PHP 扩展程序停止了文件上传。 (来自 PHP 5.2.0)。
检查错误的基本方法如下:
<?php
$fileError = $_FILES["FILE_NAME"]["error"]; // where FILE_NAME is the name attribute of the file input in your form
switch($fileError) {
case UPLOAD_ERR_INI_SIZE:
// Exceeds max size in php.ini
break;
case UPLOAD_ERR_PARTIAL:
// Exceeds max size in html form
break;
case UPLOAD_ERR_NO_FILE:
// No file was uploaded
break;
case UPLOAD_ERR_NO_TMP_DIR:
// No /tmp dir to write to
break;
case UPLOAD_ERR_CANT_WRITE:
// Error writing to disk
break;
default:
// No error was faced! Phew!
break;
}