php上传base64图片

1. 首先判断是否为标准的base64格式的图片

base64格式的图片,代码都是以data:image/png;base64, 为开头,后面紧跟着一大串base64代码。所以最简单的用explode函数根据 , 进行分割即可获得开头的代码,然后在判断此代码是否为data:image/png;base64,如果是则进行下一步的转码操作,否则直接终止上传程序。

<?php

$base64img = 'XXX'; // 假设XXX为base64的图片代码, 因代码太长我就不放上来。

$info = explode(',',$base64img); // 根据,进行分割

if($info[0] == 'data:image/png;base64'){

	// 如果base64的图片代码符合标准则进行下一步的转码操作
	
}else{

	// 如果不符合标准直接退出程序
	
}
?>

2. 如果为标准的base64图片格式, 则直接解码然后写入文件即完成上传

<?php

$base64img = 'XXX'; // 假设XXX为base64的图片代码, 因代码太长我就不放上来。

$info = explode(',',$base64img); 

if($info[0] == 'data:image/png;base64'){
	$pic = base64_decode($info[1]);
	if($pic === false) exit('解码失败');
	// 如果解码成功,则将解码的代码写入文件即可,下面只做个示范。
	$path = 'data/thumb/';
	$picname = 'thumb.png';
	if(file_put_contents($path.$picname,$pic)){
		exit('图片上传成功!');
	}else{
		exit('图片上传失败!');
	}
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值