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('图片上传失败!');
}
}