用PHP上传文件时,我们会用程序去监听浏览器发送过来的文件信息,首先会通 过$_FILES[fieldName]['error']的不同数值来判断此欲上传的文件状态是否正常。$_FILES[fieldName] ['error']==0代表一切正常,其它数值的具体含义请参考下面一段程序的注释部分,如有翻译不到之处还望指正
$_FILES['file']['error']值
UPLOAD_ERR_OK: 0 //正常,上传成功
UPLOAD_ERR_INI_SIZE: 1 //上传文件大小超过服务器允许上传的最大值,php.ini中设置upload_max_filesize选项限制的值
UPLOAD_ERR_FORM_SIZE: 2 //上传文件大小超过HTML表单中隐藏域MAX_FILE_SIZE选项指定的值
UPLOAD_ERR_NO_TMP_DIR: 6 //没有找不到临时文件夹
UPLOAD_ERR_CANT_WRITE: 7 //文件写入失败
UPLOAD_ERR_EXTENSION: 8 //php文件上传扩展没有打开
UPLOAD_ERR_PARTIAL: 3 //文件只有部分被上传
switch($_FILES[$field]['error']) {
case 1:
// 文件大小超出了服务器的空间大小
$this->setError("The file is too large (server).");
break;
case 2:
// 要上传的文件大小超出浏览器限制
$this->setError("The file is too large (form).");
break;
case 3:
// 文件仅部分被上传
$this->setError("The file was only partially uploaded.");
break;
case 4:
// 没有找到要上传的文件
$this->setError("No file was uploaded.");
break;
case 5:
// 服务器临时文件夹丢失
$this->setError("The servers temporary folder is missing.");
break;
case 6:
// 文件写入到临时文件夹出错
$this->setError("Failed to write to the temporary folder.");
break;
}