php图片处理

239 阅读1分钟
<?php
/**
 * php接收前端图片流的处理
 *
 * @Author GYX 815984073@qq.com
 * @DateTime 2021-12-16
 * @param [type] $base64    图片流数据
 * @param [type] $file      保存图片路径
 * @return void
 */
function base64_img($base64, $file)
{
    preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64, $result);
    $type = $result[2];
    $img = str_replace('data:image/' . $type . ';base64,', '', $base64); // 将头信息删除掉
    $img = str_replace(' ', '+', $img); // 再把空替换成+号
    $data = base64_decode($img); // 执行base64序列号
    # 保存到本地
    return file_put_contents($file, $data);
}

如果需要判断上传的数据类型,可以根据以下类型判断

目前,Data URI scheme支持的类型有:

data:,文本数据

data:text/plain,文本数据

data:text/html,HTML代码

data:text/html;base64,base64编码的HTML代码

data:text/css,CSS代码

data:text/css;base64,base64编码的CSS代码

data:text/javascript,Javascript代码

data:text/javascript;base64,base64编码的Javascript代码

data:image/gif;base64,base64编码的gif图片数据

data:image/png;base64,base64编码的png图片数据

data:image/jpeg;base64,base64编码的jpeg图片数据

data:image/x-icon;base64,base64编码的icon图片数据