改进File类增加对上传错误的处理

This commit is contained in:
thinkphp
2016-07-26 11:18:03 +08:00
parent 07e5842ed2
commit 64baf5be00

View File

@@ -297,6 +297,12 @@ class File extends SplFileObject
*/
public function move($path, $savename = true, $replace = true)
{
// 文件上传失败,捕获错误代码
if (!empty($this->info['error'])) {
$this->error($this->info['error']);
return false;
}
// 检测合法性
if (!$this->isValid()) {
$this->error = '非法上传文件';
@@ -374,6 +380,34 @@ class File extends SplFileObject
return $savename;
}
/**
* 获取错误代码信息
* @param int $errorNo 错误号
*/
private function error($errorNo)
{
switch ($errorNo) {
case 1:
case 2:
$this->error = '上传文件大小超过了最大值!';
break;
case 3:
$this->error = '文件只有部分被上传!';
break;
case 4:
$this->error = '没有文件被上传!';
break;
case 6:
$this->error = '找不到临时文件夹!';
break;
case 7:
$this->error = '文件写入失败!';
break;
default:
$this->error = '未知上传错误!';
}
}
/**
* 获取错误信息
* @return mixed