PHP 将dataurl转成图片image方法总结

yipeiwu_com5年前PHP代码库

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 );

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

PHP实现redis限制单ip、单用户的访问次数功能示例

本文实例讲述了PHP实现redis限制单ip、单用户的访问次数功能。分享给大家供大家参考,具体如下: 有时候我们需要限制一个api或页面访问的频率,例如单ip或单用户一分钟之内只能访问多...

利用PHP判断文件是否为图片的方法总结

前言 在网页设计中,如果需要图片,我们通常拿到的是一个图片的文件名。仅仅通过文件名是无法判断该文件是否是一个图片文件的。或许有的人以为通过后缀名就可以判断,别忘了文件的后缀名是可以随便改...

php通过数组实现多条件查询实现方法(字符串分割)

复制代码 代码如下:<?php $keyword="asp php,jsp"; $keyword=str_replace(" "," ",$keyword); $keyword=s...

PHP获取当前文件的父目录方法汇总

方法一:先获得当前文件所在文件夹的长度,然后用substr来截取掉该长度: 复制代码 代码如下: $dirName = str_replace("\\", "/", dirna...

PHP获取数组中重复最多的元素的实现方法

本文实例讲述了PHP获取数组中重复最多的元素的实现方法。分享给大家供大家参考。具体方法如下: 复制代码 代码如下:<?php  /**   ...