mirror of
https://gitee.com/apiadmin/ApiAdmin.git
synced 2025-04-05 05:42:45 +08:00
52 lines
1.8 KiB
PHP
52 lines
1.8 KiB
PHP
<?php
|
|
declare (strict_types=1);
|
|
|
|
namespace app\controller\admin;
|
|
|
|
use app\util\ReturnCode;
|
|
use think\Response;
|
|
|
|
class Index extends Base {
|
|
|
|
public function upload(): Response {
|
|
$path = '/upload/' . date('Ymd', time()) . '/';
|
|
$name = $_FILES['file']['name'];
|
|
$tmp_name = $_FILES['file']['tmp_name'];
|
|
$error = $_FILES['file']['error'];
|
|
//过滤错误
|
|
if ($error) {
|
|
switch ($error) {
|
|
case 1:
|
|
$error_message = '您上传的文件超过了PHP.INI配置文件中UPLOAD_MAX-FILESIZE的大小';
|
|
break;
|
|
case 2:
|
|
$error_message = '您上传的文件超过了PHP.INI配置文件中的post_max_size的大小';
|
|
break;
|
|
case 3:
|
|
$error_message = '文件只被部分上传';
|
|
break;
|
|
case 4:
|
|
$error_message = '文件不能为空';
|
|
break;
|
|
default:
|
|
$error_message = '未知错误';
|
|
}
|
|
die($error_message);
|
|
}
|
|
$arr_name = explode('.', $name);
|
|
$hz = array_pop($arr_name);
|
|
$new_name = md5(time() . uniqid()) . '.' . $hz;
|
|
if (!file_exists($_SERVER['DOCUMENT_ROOT'] . $path)) {
|
|
mkdir($_SERVER['DOCUMENT_ROOT'] . $path, 0755, true);
|
|
}
|
|
if (move_uploaded_file($tmp_name, $_SERVER['DOCUMENT_ROOT'] . $path . $new_name)) {
|
|
return $this->buildSuccess([
|
|
'fileName' => $new_name,
|
|
'fileUrl' => $this->request->domain() . $path . $new_name
|
|
]);
|
|
} else {
|
|
return $this->buildFailed(ReturnCode::FILE_SAVE_ERROR, '文件上传失败');
|
|
}
|
|
}
|
|
}
|