php接收base64数据生成图片代码并保存
function uploadOne($file){
header('Content-type:text/html;charset=utf-8');
$base64_image_content = trim($file);
//正则匹配出图片的格式
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)) {
$type = $result[2];//图片后缀
$dateFile = date('Y-m-d', time()) . "/"; //创建目录
$new_file = UPLOAD_BASE_PATH . $dateFile;
if (!file_exists($new_file)) {
//检查是否有该文件夹,如果没有就创建,并给予最高权限
mkdir($new_file, 0700);
}
$filename = time() . '_' . uniqid() . ".{$type}"; //文件名
$new_file = $new_file . $filename;
//写入操作
if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))) {
return $dateFile . $filename; //返回文件名及路径
} else {
return false;
}
}
}
php接收base64数据生成图片并保存
public function base64(){
//接收base64数据
$image= $_POST['imegse'];
//设置图片名称
$imageName = "yizuotu.net_".date("His",time())."_".rand(1111,9999).'.png';
//判断是否有逗号 如果有就截取后半部分
if (strstr($image,",")){
$image = explode(',',$image);
$image = $image[1];
}
//设置图片保存路径
$path = "./".date("Ymd",time());
//判断目录是否存在 不存在就创建
if (!is_dir($path)){
mkdir($path,0777,true);
}
//图片路径
$imageSrc= $path."/". $imageName;
//生成文件夹和图片
$r = file_put_contents($imageSrc, base64_decode($image));
if (!$r) {
return json(['code'=>0,'message'=>'图片生成失败']);
}else {
return json(['code'=>1,'message'=>'图片生成成功']);
}
}