laravel 框架上傳文件生成簡單縮略圖


安裝:
    需求:
        PHP >= 5.4
        Fileinfo 擴展
        GD庫 >= 2.0
        Imagick 擴展 >=6.5.7
    composer安裝:
        composer require intervention/image

基本使用:使用 ImageManager 的靜態版本
        use Intervention\Image\ImageManagerStatic as Image;
        Image::configure(array('driver' => 'imagick'));        ------- api中未出現此方法
        Image::make('public/foo.jpg');  

上代碼------------------:

   public function test2(Request $request)
    {
      
        $this->validate($request,[
            'name' =>'required',
            'content' =>'required',
        ]);
        
         if($request->hasFile('img_file') && $request->file('img_file')->isValid()){
            // 圖片 重新命名
           $img_name =  uniqid(mt_rand(100000,999999)) . '.' . $request->img_file-> extension();
            $foldername=date('Y-m-d');        //文件夾名稱
            $folderpath="./uploads/{$foldername}";    //文件夾路徑
            if(!is_dir($folderpath)){
              $data =  mkdir($folderpath,0777,true);
            }
            // 圖片地址
            $image_file = $folderpath .DIRECTORY_SEPARATOR. $img_name;
            // 移動圖片並生成縮略圖
             Image::make($request->img_file)->resize(100, null, function($constraint){$constraint->aspectRatio();})->save($image_file);
            // dump($image);die;
            // 添加數據表路徑
            $path = $image_file;
         }else{
            return "<script> alert('上傳圖片不能為空!')</script>";
         }
        //  過濾非數據表字段
        $data = $request->except('_token','img_file');
         //  添加到數據表
         $info = [
             'title' => $data['name'],
             'content' => $data['myany'],
             'image_path' =>$path,
             'createtime' =>time(),
         ];
         $data = Stus::insert($info);
        //  添加成功跳轉
        if($data){
            return redirect('test1');
        }
      
       
    }

 效果:

 

 

 


    


免責聲明!

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



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