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 ...
随机推荐
- ABP(ASP.NET Boilerplate Project)学习总结
ABP(ASP.NET Boilerplate Project),现下比较流行的一种web框架,因为公司新项目准备使用这种框架,所以写下这篇文章记录下自己一步一步搭建的过程,就当做是对学习的一个总结与 ...
- Spring Security 解析(二) —— 认证过程
Spring Security 解析(二) -- 认证过程 在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring Security .S ...
- aria2 cmd set chmod, and others..
import 'package:flutter/material.dart'; import 'dart:io'; import 'dart:async'; import 'package:rxdar ...
- Bean named 'XXX' is expected to be of type [XXX] but was actually of type [com.sun.proxy.$Proxy7
AOP原理 <aop:aspectj-autoproxy />声明自动为spring容器中那些配置@aspectJ切面的bean创建代理,织入切面. <aop:aspectj-aut ...
- 【转载】C#中int.TryParse方法和int.Parse方法的异同之处
在C#编程过程中,int.TryParse方法和int.Parse方法都可以将字符串string转换为整型int类型,但两者还是有区别,最重要的区别在于int.TryParse方法在字符串无法转换为i ...
- nginx-ingress之server-snippet用法
apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/serv ...
- oracle 如何预估将要创建的索引的大小
一.1 oracle 如何预估将要创建的索引的大小 oracle 提供了2种可以预估将要创建的索引大小的办法: ① 利用包 Dbms_space.create_index_cost 直接得到 ② ...
- vue.js 样式绑定
简单用法 <div v-bind:height="bindStyle"> 复杂用法 <div v-bind:style="bindStyle" ...
- windows添加ftp站点
安装下,对应的服务: 在网站上,右键,添加,ftp站点. 配置路径: 然后下一步,选择所有用户, 读写权限.就可以了.
- Linux DNS 分离解析
设置DNS分离解析可以对不同的客户端提供不同的域名解析记录.来自不同地址的客户机请求同一域名时,为其提供不同的解析结果. 安装 bind 包 [root@localhost ~]# yum insta ...