PHP保存Base64图片

PHP对Base64的支持非常好,有内置的base64_encode与base64_decode负责图片的Base64编码与解码。

编码上,只要将图片流读取到,而后使用base64_encode进行进行编码即可得到。

而解码就略微麻烦一点,究其原因在于把图片编码成base64字符串后,编码内会加入这些字符 data:image/png;base64,本来是用于base64进行识别的。但是如果直接放到php里用base64_decode函数解码会导致最终保存的图片文件格式损坏,而解决方法就是先去掉这一串字符:
if (preg_match(‘/^(data:\s*image\/(\w+);base64,)/‘, $base_content, $result))
{
  $result[2];//扩展名
  $result[1];//内容之前的信息
}

$base64_string= explode(‘,‘, $base64_string); //截取data:image/png;base64, 这个逗号后的字符

$data= base64_decode($base64_string[1]);  //对截取后的字符使用base64_decode进行解码

file_put_contents($url, $data); //写入文件并保存

原文地址:https://www.cnblogs.com/bwteacher/p/11684835.html

时间: 2024-07-31 13:02:14

PHP保存Base64图片的相关文章

PHP保存Base64图片base64_decode的问题

PHP对Base64的支持非常好,有内置的base64_encode与base64_decode负责图片的Base64编码与解码. 编码上,只要将图片流读取到,而后使用base64_encode进行进行编码即可得到. 而解码就略微麻烦一点,究其原因在于把图片编码成base64字符串后,编码内会加入这些字符 data:image/png;base64,本来是用于base64进行识别的.但是如果直接放到php里用base64_decode函数解码会导致最终保存的图片文件格式损坏,而解决方法就是先去掉

PHP保存Base64图片base64_decode的问题 文件打不开的问题

PHP对Base64的支持非常好,有内置的base64_encode与base64_decode负责图片的Base64编码与解码. 编码上,只要将图片流读取到,而后使用base64_encode进行进行编码即可得到. 而解码就略微麻烦一点,究其原因在于把图片编码成base64字符串后,编码内会加入这些字符 data:image/png;base64,本来是用于base64进行识别的.但是如果直接放到php里用base64_decode函数解码会导致最终保存的图片文件格式损坏,而解决方法就是先去掉

PHP将Base64图片转换为本地图片并保存

本文出至:新太潮流网络博客 /** * [将Base64图片转换为本地图片并保存] * @E-mial [email protected] * @TIME 2017-04-07 * @WEB http://blog.iinu.com.cn * @param [Base64] $base64_image_content [要保存的Base64] * @param [目录] $path [要保存的路径] */ function base64_image_content($base64_image_c

php 图片base64编码生成dataurl和保存为图片

<?php header('Content-type:text/html;charset=utf-8'); //读取图片文件,转换成base64编码格式 $image_file = 'aaa.jpg'; $image_info = getimagesize($image_file); // $base64_image_content = "data:{$image_info['mime']};base64," . chunk_split(base64_encode(file_ge

PHP保存base64

base64图片格式:$base64_url = data:image/jpeg;base64,xxxxxxxxxxxxxxxxxxxxxx 1,去除头部:$base64_body = substr(strstr($base64_url,','),1); 2,解码:$data= base64_decode($base64_body ); 3,存储or创建图片: file_put_contents($file_path,$data); 或$image = imagecreatefromstring

chrome 隐藏技能之 base64 图片转换

有时候我们要转换图片为base64,或者将base64转回图片,可能都需要找一些在线工具或者软件类型的工具才行.当然 chrome 也算是软件,但是好在做前端的都有 chrome.好了,来看下简单的例子,我随便截了个桌面背景当例子.分别保存为 png, jpg 两种. 然后用 chrome 打开图片,接着按 F12 打开控制台,在 Sources 或 Resources 都行.看到了吧,在最后一个箭头处就是我们要的 base64 数据了,非常简单.当然这里没有data头,用的时候再加上即可. d

php读取和保存base64编码的图片内容

<?php header('Content-type:text/html;charset=utf-8'); //读取图片文件,转换成base64编码格式 $image_file = './4296762_165319032930_2.jpg'; $image_info = getimagesize($image_file); $base64_image_content = "data:{$image_info['mime']};base64," . chunk_split(bas

node与canvas保存(下载)图片

最近在做一个截图的功能,要保存成图片. 其实这个功能挺简单的,用toDataURL()转换,或者直接用使用canvas2image.js, base64.js这两个脚本实现功能, 部分重要代码如下:                     //简单的使用JavaScript代码实现下载     var imageDate = document.getElementById("canvas").toDataURL("image/png");     window.lo

上传base64图片到七牛云前端遇到的坑

介意前端普通引入七牛云SDk上传图片到七牛云需要多个js,所以才有了base64的上传方式,简化操作,(懒.) 七牛云官方文档如下 https://developer.qiniu.com/kodo/kb/1326/how-to-upload-photos-to-seven-niuyun-base64-code 我们前端理所当然就复制黏贴了..然后问题就来了 看地址 var url = "http://upload.qiniu.com/putb64/20264"; //非华东空间需要根据