PHP处理base64编码的图片

 /**
* 处理base64编码格式的图片
* @param $base64_image_content
* @return mixed
*/
function saveBase64Image($base64_image_content){
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
//图片后缀
$type = $result[2];
//保存位置--图片名
$image_name=date('His').str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT).".".$type;
$path= 'Uploads/image/';
$this->mkdirs($path);
$image_url = $path.uniqid().$image_name;
// $this->mkdirs($image_url);
//解码
$decode=base64_decode(str_replace($result[1], '', $base64_image_content));
if (file_put_contents($image_url, $decode)){
$data['code']=0;
$data['imageName']=$image_name;
$data['url']=$image_url;
$data['msg']='保存成功!';
}else{
$data['code']=1;
$data['imageName']='';
$data['url']='';
$data['msg']='图片保存失败!';
}
}else{
$data['code']=1;
$data['imageName']='';
$data['url']='';
$data['msg']='base64图片格式有误!';
}
return $data;
}


//判断目录是否存在 不存在则创建
function mkdirs($dir, $mode = 0777) {
if (is_dir($dir) || @mkdir($dir, $mode)) return TRUE;
if (!$this->mkdirs(dirname($dir), $mode)) return FALSE;
return @mkdir($dir, $mode);
}
posted @ 2017-07-21 15:23  佳平  阅读(1874)  评论(0编辑  收藏  举报