PHP 将dataurl转成图片image方法总结
PHP将DataURL转换为图片的方法详解
在Web开发中,我们有时会遇到需要将DataURL转换为图片的情况。特别是在使用canvas生成图片后,得到的图片是以DataURL的形式存在的,而PHP无法直接通过file_put_contents方法将其保存到本地。本文将介绍两种实现方法,供大家参考。
方法一:通过正则表达式提取并展示图片
我们需要明白一个DataURL的格式,它通常形如"data:image/png;base64,...",其中"..."是图片的base64编码。我们可以通过正则表达式来提取出这部分数据,然后进行解码并展示。
以下是具体的实现代码:
```php
if (!preg_match('/data:([^;]);base64,(.)/', $imgstr, $matches)) {
die("错误");
}
$content = base64_decode($matches[2]);
header('Content-Type: '.$matches[1]); // 设置响应头为图片类型
header('Content-Length: '.strlen($content)); // 设置响应头为图片长度
echo $content; // 输出图片内容
die; // 结束响应
```
这段代码首先使用正则表达式提取出DataURL中的图片数据,然后进行base64解码。最后通过设置响应头,将图片内容输出。这样就可以在浏览器中直接显示图片了。
方法二:保存图片到本地
如果你只是想将图片保存到本地,可以使用substr和strpos方法提取出DataURL中的图片数据,然后进行base64解码并保存到文件。
以下是具体的实现代码:
```php
$imgdata = substr($imgstr, strpos($imgstr, ",") + 1); // 提取出图片数据
$decodedData = base64_decode($imgdata); // 进行base64解码
file_put_contents('11.png', $decodedData); // 保存图片到文件
```
这段代码首先使用substr和strpos方法提取出DataURL中的图片数据,然后进行base64解码,最后通过file_put_contents方法将图片保存到本地文件。
以上就是两种将DataURL转换为图片的PHP实现方法。希望能够帮助到大家,感谢大家对本站的支持!如果有任何疑问,欢迎随时提问。
编程语言
- PHP 将dataurl转成图片image方法总结
- asp下根据标题生成关键字的代码
- PHP Static延迟静态绑定用法分析
- JavaScript无操作后屏保功能的实现方法
- js实现点击图片自动提交action的简单方法
- php防止sql注入简单分析
- javascript定义变量时带var与不带var的区别分析
- 浅谈javascript的分号的使用
- PHP输出缓冲与header发送问题详解
- SQL Server根据分区表名查找所在的文件及文件组实
- 浅谈js多维数组和hash数组定义和使用
- mysql 8.0.12 winx64详细安装教程
- 将博客园(cnblogs.com)数据导入到wordpress的代码
- CodeIgniter生成静态页的方法
- ThinkPHP多表联合查询的常用方法
- jQuery中DOM操作实例分析