PHP 将dataurl转成图片image方法总结
PHP将dataurl转成图片image方法
使用canvas生成的图片,是使用dataurl的,php无法直接通过file_put_contents方法保存到本地电脑,需要做一下转码。
图片dataurl如下
$imgstr='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';
方法一:
通过正则提取出dataurl存储所需的数据,然后直接展示在页面上
if(!preg_match('/data:([^;]*);base64,(.*)/',$imgstr,$matches)){ die("error"); } $content=base64_decode($matches[2]); header('Content-Type:'.$matches[1]); header('Content-Length:'.strlen($content)); echo$content; die;
方法二:
如果仅仅是想保存图片到本地,可以用substr和strpos方法
$imgdata=substr($imgstr,strpos($imgstr,",")+1); $decodedData=base64_decode($imgdata); file_put_contents('11.png',$decodedData);
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!