图片base64处理另外保存

这段代码展示了如何从Base64编码的图像数据中保存图片到服务器。首先,它创建一个日期格式的子目录,然后将Base64字符串转换为正常图像文件并保存。如果目录不存在,它会创建目录,并检查图片格式是否支持。最后,返回保存成功的状态和URL。
摘要由CSDN通过智能技术生成
$req_imgdata = html_entity_decode($data_post["imgbase64"]);

$hpimg_arr = base64imgsave($req_imgdata);
function base64imgsave($imgdata)
{   
    //文件夹日期
	$ymd = date("Ymd");

	//WEB服务地址前缀
	$web_prefix_url = 'http://read.woweiqu.com';
	
	//目标主目录
	$target_maindir = '/usr/local/Apache-htdocs/htdocs-mbreader';
     
    //图片上传相对路径地址  
	$uploaddir = '/upload/hpimgs/'.$ymd.'';
	
	//图片上传绝对路径地址
	$fullpath = $target_maindir . $uploaddir;
	
	if(!is_dir($fullpath))
	{
    	mkdir($fullpath, 0777, true);
	}
	
    $types = empty($types) ? array('jpeg', 'gif', 'png', 'jpg') : $types;
     
    $imgdata = str_replace(array('_', '-'), array('/', '+'), $imgdata);
     
    $b64img = substr($imgdata, 0, 100);
     
	if(preg_match('/^(data:\s*image\/(\w+);base64,)/', $b64img, $matches))
	{       
    	$type = $matches[2];
		if(!in_array($type, $types))
		{
			return array('status'=>1, 'info'=>'图片格式不正确,只支持 jpg、gif、png、jpeg哦!', 'url'=>'');
		}
		$imgdata = str_replace($matches[1], '', $imgdata);
		$imgdata = base64_decode($imgdata);
		$photo = '/'.md5(date('YmdHis').rand(1000, 9999)).'.'.$type;
		file_put_contents($fullpath.$photo, $imgdata);
       
		$ary['status'] = 1;
		$ary['info'] = '保存图片成功';
		$ary['url'] = $web_prefix_url . $uploaddir . $photo;
       
      	return $ary;
     
    }
     
	$ary['status'] = 0;
	$ary['info'] = '请选择要上传的图片';
	
	return $ary;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值