基本方法
// 实例化 Upload 类,传入配置参数
$config = [
'maxSize' => 2097152, // 2 MB 文件大小限制,2048*1024
'exts' => ['jpg', 'gif', 'png', 'jpeg'],//文件名后缀限制,数组形式
'savePath' => BASE_PATH.'/upload',//文件保存物理目录路径,相对于项目根目录,前面有斜杠,后面没有
'urlPath' => '/upload',//文件URL目录路径,相对于站点根目录,前面有斜杠,后面没有
'autoSub' => true,//是否按日期使用子目录,如果是,在savePath下还会有“年/月/日”目录,否则直接保存在savePath
'autoName' => true, //使用 uniqid() 生成唯一文件名,确保文件的唯一性,否则保留原文件名
'replace' => true,//是否覆盖已存在的文件
'fileName'='' //自定义上传后的文件名字,比如可以使用变量$id指定文件名
];
$uploader = new startmvc\core\Upload($config);
// 输出结果
foreach ($results as $result) {
if ($result['result']) {
echo "文件上传成功: " . $result['url'] . "";
} else {
echo "文件上传失败: " . $result['error'] . "";
}
}
//动态传参
$up = new \store\core\Upload;
$up->maxSize = 2048;
$up->exts = ['jpg', 'gif', 'png', 'jpeg'];
$up->savePath = BASE_PATH.'/upload';
$up->urlPath = '/upload';
$up->autoSub = true;
$up->fileName='';
$up->autoName = true;
$up->replace = true;
$up->upload();
//所有参数都是可选,不设置就为默认值
上传表单
单文件上传
上传
多文件上传
上传
以数组形式多文件上传
上传
结果返回
$up = new \startmvc\core\Upload;
var_dump($up->upload());
//因为是支持多文件上传,所以上传结果会是一个数组,把每个文件的结果都返回:
上传成功返回:
[
[
'result' => true, //上传成功
'url' => '/upload/2023/12/06/20231206161246845.jpg'; //上传文件的URL,相对于站点根目录
'filename' => '20231206161246845.jpg'
],
]
上传失败返回:
[
[
'result' => false, //上传失败
'error' => '上传文件大小超过限制' //失败原因
]
// more
]