• 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('订单录入失败,请咨询客服人员');
                }            
            }
            
        }
     
  • 相关阅读:
    jsp实现登陆功能小实验
    netty
    shiro
    mybatis
    spring MVC
    spring
    集合框架面试题
    Redis面试题
    Dubbo面试题汇总
    阿里面试题
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/15883538.html
Copyright © 2020-2023  润新知