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('訂單錄入失敗,請咨詢客服人員');
            }            
        }
        
    }
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM