1. 程式人生 > >PHP實現將圖片base64編碼&&上傳資料庫&&顯示

PHP實現將圖片base64編碼&&上傳資料庫&&顯示

 

view檢視上傳程式碼->一個form表單即可:

<form action="{{url('file64')}}" method="post" enctype="multipart/form-data">
    {{csrf_field()}}
    <input type="file" name="file"><br>
    <input type="submit" value="提交">
</form>

控制器程式碼:

    public function base(){
                $url=request()->file('file');
        $file = "$url";
        if($fp = fopen($file,"rb", 0))
        {
            $gambar = fread($fp,filesize($file));
            fclose($fp);
            $base64 = chunk_split(base64_encode($gambar));
            $curl='data:image/jpg/png/gif;base64,'. "$base64.";
            $encode = '<img src="data:image/jpg/png/gif;base64,' . $base64 .'" >';
            $imageName = "25220_".date("His",time())."_".rand(1111,9999).'.png';
            if (strstr($curl,",")){
                $image = explode(',',$curl);
                $image = $image[1];
            }
           // print_r($image);
            $path = "./"."uploads";
//            if (!is_dir($path)){ //判斷目錄是否存在 不存在就建立
//                mkdir($path,0777,true);
//            }
            $imageSrc= $path."/". $imageName;
            $r = file_put_contents($imageSrc, base64_decode($image));
            if (!$r) {
                $tmparr1=array('data'=>null,"code"=>1,"msg"=>"圖片生成失敗");
                echo json_encode($tmparr1);
            }else{
                $data['file']=$imageName;
                $sql=DB::table('base')->insert($data);
                if($sql){
                    $tmparr2=array('data'=>1,"code"=>0,"msg"=>"圖片生成成功",'file'=>$imageName);
                    echo json_encode($tmparr2);
                }

            }
           // echo $encode;
        }
    }

顯示->控制器:

 public function r(){
        $list=DB::table('base')->get();
        return view('ba/r',['list'=>$list]);
    }

顯示->檢視:

@foreach($list as $v)
    <img src="./uploads/{{$v->file}}"width="50">

    @endforeach

一切OK!!!