PHP實現將圖片base64編碼&&上傳資料庫&&顯示
阿新 • • 發佈:2018-11-26
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!!!