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!!!

猜你喜欢

转载自blog.csdn.net/qq_43572631/article/details/84534279