/**
* base64格式转存图片
* @param int $shopid
* @param string $filename 文件名
* @param string $base64 上传的文件的 base64格式
* @param string $filePath 要保存的路径
* @return number[]|string[]|string
* @author Donlyn<br>
* created at 2017-08-24
*/
function base64_upload($shopid,$filename,$base64, $filePath='/upload/shop_info_check_qrcode/') {
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64, $result)){
// 图片后缀
$type = $result[2];
// 保存位置--图片名
$image_name = ($filename ? $filename : date('His') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT) ). "." . $type;
$filePath = $filePath ? $filePath : '/upload/shop_info_check_qrcode/';
$image_url = $filePath . $shopid . '/' . $image_name;
if (! is_dir(dirname('.' . $image_url))) {
/* mkdir(dirname('.' . $image_url));
chmod(dirname('.' . $image_url), 0777); */
$public_obj = new PublicAction();
$public_obj->Directory(dirname('.'.$image_url));
//umask($oldumask);
}
if(file_exists('.'.$image_url)){
return array(
'sta' => 0,
'code' => 2,
'filename' => $filename,
'imageName' => $image_name,
'url' => $image_url,
'msg' => '图片已存在',
);
}
// 解码
$decode = base64_decode(str_replace($result[1], '', $base64));
if (file_put_contents('.' . $image_url, $decode)) {
$data['sta'] = 1;
$data['code'] = 0;
$data['filename'] = $filename;
$data['imageName'] = $image_name;
$data['url'] = $image_url;
$data['msg'] = '保存成功!';
} else {
$data['sta'] = 0;
$data['code'] = 1;
$data['filename'] = $filename;
$data['imgageName'] = '';
$data['url'] = '';
$data['msg'] = '图片保存失败!';
}
}else{
$data['sta'] = 0;
$data['code']=1;
$data['filename'] = $filename;
$data['imgageName']='';
$data['url']='';
$data['msg']='base64图片格式有误!';
}
return $data;
}