thinkphp5限制上传文件尺寸大小
单图方法
//单图片上传
public function upload($file){
// 移动到框架应用根目录/public/uploads/ 目录下
if($file){
// 我这里设置的是1兆,单位是字节
$info = $file->validate(['size'=>1048576,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads');
if($info){
// 成功上传后 获取上传信息
return $info->getSaveName();
}else{
// 上传失败获取错误信息
$this->error($file->getError());
}
}
}
多图方法
// 多图片上传
public function multiUpload($files){
// 移动到框架应用根目录/public/uploads/ 目录下
if($files){
$names=[];
foreach($files as $file){
// 移动到框架应用根目录/public/uploads/ 目录下,单图最多允许1兆
$info = $file->validate(['size'=>1048576,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads');
if(!$info){
// 上传失败获取错误信息
$this->error($file->getError());
}else{
$name=$info->getSaveName();
array_push($names,$name);
}
}
//全部上传成功之后
$names = implode(',',$names);
return $names;
}
}
调用上传方法
//保存订单信息
public function save(){
if(!request()->isPost()){
$this->error('请求不合法');
}
$data=input('post.');
//修改订单
if(!empty($data['id'])){
//如果上传了图片
$files = request()->file('installPic');
if($files){
$installPic=$this->multiUpload($files);
$data['installPic']=$installPic;
}else{
//没有上传图片,就是用原来的图片
$data['installPic']=$data['lastPic'];
}
//更新订单操作
$id=intval($data['id']);
$res=model('Member')->allowField(true)->save($data,['id'=>$id]);
if($res){
return alert_success('订单更新成功');
}else{
return alert_error('订单更新失败,请咨询客服人员');
}
}else{
//新增订单
$files = request()->file('installPic');
if($files){
$installPic=$this->multiUpload($files);
$data['installPic']=$installPic;
}
$res=model('Member')->add($data);//新增操作
if($res){
return alert_success('订单录入成功');
}else{
return alert_error('订单录入失败,请咨询客服人员');
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架