当前位置:首页 > PHP > 正文内容

php base64保存为图片,带格式解析

高老师8年前 (2017-06-11)PHP2984
<?php

/**
 * 将base64字符串创建为图片文件
 * @param string $base64 base64原始字符串
 * @param string $path 保存文件的目录
 * @param string $filename 文件名(不要带格式后缀)
 * @return array 成功:state 1  filename:返回的文件名   失败:state 2   err:返回详细错误
 */
function createBase64($base64, $path, $filename)
{
    $res = [];
    //匹配base64字符串格式
    if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64, $result))
    {
        //保存最终的图片格式
        $postfix = $result[2];
        $base64 = base64_decode(substr(strstr($base64, ','), 1));
        $filename = $filename . '.' . $postfix;
        $path = $_SERVER["DOCUMENT_ROOT"] . $path . $filename;
        //创建图片
        if (file_put_contents($path, $base64))
        {
            $res['state'] = 1;
            $res['filename'] = $filename;
        }
        else
        {
            $res['state'] = 2;
            $res['err'] = 'Create img failed!';
        }
    }
    else
    {
        $res['state'] = 2;
        $res['err'] = 'Not base64 char!';
    }

    return $res;
}


//前端传来的base64,ajax发送的base64请不要做任何处理
$base64 = $_POST['base64'];
var_dump($base64);

//返回结果state=1的时候就是成功,错误信息在err中
var_dump(createBase64($base64, '/', 'girl'));

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/4.html

分享给朋友:

“php base64保存为图片,带格式解析” 的相关文章

PHP中$this和self的区别

PHP中$this和self的区别

<?php //对比$this和self   /*  * $this更倾向于对象本身  *   */   class  Par{     public   ...

PHP验证码不显示的终极解决方案

PHP验证码不显示的终极解决方案

PHP验证码不显示的问题应该是经常的事情,我在这里把2种解决方案都发出来方便大家后期使用.因为是昨天晚上自己写验证码都没有显示,我就直接把之前和李炎恢老师上课写的验证码拿来还是不显示,醉了。首先是第一种方法:1、打开服务器安装目录下的php.ini文件;2、去掉;extension=php_gd.d...

php无限查询下级,php递归统计下级总数,php 获取无限子级

php无限查询下级,php递归统计下级总数,php 获取无限子级

因项目需要需要统计用户无限下级计算分销佣金,计算每月分红,计算无限下级团队的业绩,需要先获得某个会员的无限下级成员。先看看数据库中的member表字段id            username       &...

 php header属性,php header 详解,php header的作用

php header属性,php header 详解,php header的作用

header() 函数向客户端发送原始的 HTTP 报头。(官方解释)通俗的讲header函数将参数中的字符串作为服务端的响应头来返回给客户端。什么是服务端的响应头?打开谷歌浏览器看看network中的请求response header信息即可。更多的参数百度response header即可浏览器...

PHP获取站点根目录,PHP获取应用根目录,cgi和cli都支持

PHP获取站点根目录,PHP获取应用根目录,cgi和cli都支持

重构框架的时候想要考虑支持下cli模式,于是参考了thinkphp的底层。/**  * 获取应用根目录  * @return string  */ public static function getRootP...

cookie跨域,cookie p3p跨域

cookie跨域,cookie p3p跨域

最近在公司开发一个新的项目假设项目域名是a.com,需要接入b.com的单点登陆系统。(1).首先我们会在a.com的登陆页面用iframe引入b.com来显示登陆界面,实际上登陆验证操作都是在b.com上面(2).当b.com验证通过,会在前端ajax请求a.com的回调地址,这个回调地址目的就是...