php 接收上传的data:image/png;base64图片数据,并存储
前端上传图片发送过来的图片数
后台接收处理方法
//base64图片上传 //base64_image_content base64图片编码 //$path 图片储存路径 function base64Img($base64_image_content,$path){ //匹配出图片的格式 if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){ $type = $result[2]; //验证图片格式 $allImg = array('gif','png','jpg','jpeg','JPG'); if(!in_array($type,$allImg)) return false; if($type == 'jpeg'){$type = 'jpg';} if(!file_exists($path)){ mkdir($path, 0777,true);//检查是否有该文件夹,如果没有就创建,并给予最高权限 } $new_file = $path.uniqid().'.'.$type; if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){ return $new_file; }else{ return false; } }else{ return false; } }
如果需要判断上传的数据类型,可以根据以下类型判断
目前,Data URI scheme支持的类型有:
data:,文本数据
data:text/plain,文本数据
data:text/html,HTML代码
data:text/html;base64,base64编码的HTML代码
data:text/css,CSS代码
data:text/css;base64,base64编码的CSS代码
data:text/javascript,Javascript代码
data:text/javascript;base64,base64编码的Javascript代码
data:image/gif;base64,base64编码的gif图片数据
data:image/png;base64,base64编码的png图片数据
data:image/jpeg;base64,base64编码的jpeg图片数据
data:image/x-icon;base64,base64编码的icon图片数据