大灰hurbai

php将Base64图片保存到本地

php将Base64图片保存到本地方法:

1.前台传来图片信息,例如:"data:image/png;base64,iVBORwAATElE0KGgoAAAAN..."
2.用正则匹配出图片的格式
3.去掉data:image/png;base64头部信息,使用base64_decode对编码内容进行解码。
4.保存

具体代码:

function base64_image($imgName, $path)
{
    //正则匹配出图片的格式
    if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $imgName, $result)) {
        $type = $result[2];  //获取图片格式
        $new_file = $path .  "/";
        if (!file_exists($new_file)) {
            //检查是否有该文件夹,如果没有就创建,并给予最高权限
            mkdir($new_file, 0700);
        }
        $new_file = $new_file . time() . ".{$type}";
        if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $imgName)))) {
            return '/' . $new_file;
        } else {
            return false;
        }
    } else {
        return false;
    }
}

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »