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('订单录入失败,请咨询客服人员');
}
}
}