php保存canvas导出的base64图片
代码如下:
<?php
$img='data:image/png;base64,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'; $img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = 'images/' . time() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : '无法保存文件.'; ?>
其中$img为canvas导出的base64编码的图片,替换掉其中不需要的信息,再使用base64_decode还原二进制图片流,然后将还原的图片流写入文件。
php保存canvas导出的base64图片的更多相关文章
- html页面、canvas导出图片
背景:项目现场提出将一个html做的图形页面导出为一张图片的需求,在网上搜了一下,发现都不是很全面,所以综合了很多大神的帖子,自己再次封装,以适用项目需求. 所需js库:html2canvas.js( ...
- 微信小程序base64图片保存到手机相册
问题:base64图片不能直接用wx.saveImageToPhotosAlbum保存到手机相册 解决: 先用fs.writeFile写入本地文件,再wx.saveImageToPhotosAlbum ...
- PHP将图片转base64编码以及base64图片转换为图片并保存代码
图片转base64编码 /*图片转换为 base64格式编码*/ $img = 'uploads/01.png'; $base64_img = base64EncodeImage($img); ech ...
- PHP将Base64图片转换为本地图片并保存
本文出至:新太潮流网络博客 /** * [将Base64图片转换为本地图片并保存] * @E-mial wuliqiang_aa@163.com * @TIME 2017-04-07 * @WEB h ...
- 基于vue上传base64图片,通过canvas压缩base64
其实和vue关系不大,和我们之前做上传压缩性质是一样的 当然下面的代码是没有处理ios横屏拍照的bug的 有兴趣的可以多搜一下 网上都有相应的解答 .. var that = this if (e. ...
- Android Base64图片无法长按保存 问题解决
踩了一个巨坑. 目前微信ios/android 均能长按保存src=base64的图片 (微信android x5 专门解决了这个问题); 但是android其他App没有针对解决这个系统问题(姑且 ...
- PHP的图片转base64,base64图片转换为图片并保存代码
打卡记录 1. 图片转base64代码 /*图片转换为 base64格式编码*/ $img = 'images/avatar.jpg'; $base64_img = base64EncodeImage ...
- 小程序base64图片格式保存至手机相册
// 保存图片至相册 saveImg() { //获取文件管理器对象 const fs = wx.getFileSystemManager() //文件保存路径 const Imgpath = wx. ...
- freemarker导出word带图片
导出word带图片 如果你需要在word中添加图片,那你就在第一步制作模板时,加入一张图片占位,然后打开xml文档,可以看到如下的一片base64编码后的代码: <w:binData w:nam ...
随机推荐
- Redis Cluster: (error) MOVED
I have a Redis cluster with the following nodes: 192.168.0.14:6379 master (slots from 0 to 16383) ...
- MongoDB和Java(3):Java操作MongoB
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
- kafka汇总
Kafka 1. kafka概念 kafka是一个高吞吐亮的.分布式.基于发布/订阅(也就是一对多)的消息系统,最初由Linkedln公司开发的,使用Scala语言编写的,目前是Apache的开源项目 ...
- 关于定义变量名为"name"的坑!!!
昨天下午没有什么工作可做,闲来无事就上博客园看看了,有个问题让我一直很纳闷. 直接上代码吧: 再用表达式创建函数时遇到的问题,这里的代码按照正常逻辑只有那个在变量定义后面的函数执行打印的值才是&quo ...
- CSS-3D动画笔记
3D 在2d的基础上添加 z 轴的变化 3D 位移:在2d的基础上添加 translateZ(),或者使用translate3d() translateZ():以方框中心为原点,变大 3D 缩放:在2 ...
- MySQL分组查询每组最新的一条数据(通俗易懂)
开发中经常会遇到,分组查询最新数据的问题,比如下面这张表(查询每个地址最新的一条记录): sql如下: -- ---------------------------- -- Table structu ...
- leetcode 学习心得 (1) (24~300)
源代码地址:https://github.com/hopebo/hopelee 语言:C++ 24.Swap Nodes in Pairs Given a linked list, swap ever ...
- maven学习笔记四(聚合和继承)
聚合 现在假如,我创建了3个maven项目, user-core.2.user-log,3.user-service 这个时候,假如我们要打包这些项目,要一个一个来,会很麻烦.那么我们有没有更好的办法 ...
- mysql where 1
where后跟各种查询条件,当条件为真时即可查询出记录.在这里where 1,1为真,也就是where后的条件为真,查询表中所有内容. SELECT * FROM `sdb_pam_members` ...
- Qualification Rounds(Codeforces Round #438 by Sberbank and Barcelona Bootcamp (Div. 1 + Div. 2 combined)+状态压缩)
题目链接 传送门 题意 现总共有\(n\)个题目\(k\)支参赛队伍,已知每个题目各队伍是否会写,现问你能否从题目中选出一个子序列使得每支队伍最多只会写一半的题目. 思路 对于每个题目我们用二进制压缩 ...