public function setBaseToImg(Request $request){ $base64_image_content = $request->get('imgBase64','imgBase64'); //匹配出图片的格式 $preg = preg_match('/^(data:s*image/(w+);base64,)/', $base64_image_content, $result); if ($preg){ $type = $result[2]; $new_file = public_path('/html5/blessing/baseImg/'); if(!file_exists($new_file)) { //检查是否有该文件夹,如果没有就创建,并给予最高权限 mkdir($new_file, 0700); } $new_file = $new_file.time().uniqid().".{$type}"; if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){ return $new_file; }else{ return false; } } }
此处我用了Laravel框架自带方法,下面是原始方法,都可用
public function setBaseToImg(){ $base64_image_content = $_POST['imgBase64']; //匹配出图片的格式 $preg = preg_match('/^(data:s*image/(w+);base64,)/', $base64_image_content, $result); if ($preg){ $type = $result[2]; $new_file = '/html5/blessing/baseImg/'; if(!file_exists($new_file)) { //检查是否有该文件夹,如果没有就创建,并给予最高权限 mkdir($new_file, 0700); } $new_file = $new_file.time().uniqid().".{$type}"; if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){ return $new_file; }else{ return false; } } }