function imgBase64ToFile($com_id, $str) {
/* 通过正则匹配得到 base64 头信息和图片信息等 */
$pregInfo = preg_match('/^(data:\s*image\/(\w+);base64,)/', $str, $photoInfo);
$result = false;
/* 匹配到结果则开始处理 */
if ($pregInfo != false) {
/* 去除base64头:data:image/jpeg;base64,这部分的内容需要去掉,不然 base64_decode 出来的图片是损坏的 */
$clearBase64HeadWithPhoto = str_replace($photoInfo[1], '', $str);
$clearBase64HeadWithPhoto = str_replace(' ', '+', $clearBase64HeadWithPhoto);
/* base64_decode base64编码,重新得到图片的内容 */
$photoFileSource = base64_decode($clearBase64HeadWithPhoto);
/* 生成图片名称和保存路径 */
$filePath = 'upload/' . rand(100, 999) . uniqid() . '.' . $photoInfo[2];
/* 写文件 */
$file = file_put_contents($filePath, $photoFileSource);
}
return $file;
}
11-01
974