基于ThinkPHP解决了前端以base64形式传文件实现文件上传的函数封装

Posted findher

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于ThinkPHP解决了前端以base64形式传文件实现文件上传的函数封装相关的知识,希望对你有一定的参考价值。

/**
* 封装base64位图片上传
*/
function base64_upload($base64) {
$base64_image = str_replace(‘ ‘, ‘+‘, $base64);
//post的数据里面,加号会被替换为空格,需要重新替换回来,如果不是post的数据,则注释掉这一行
if (preg_match(‘/^(data:\s*image\/(\w+);base64,)/‘, $base64_image, $result)){
//匹配成功
if($result[2] == ‘jpeg‘){
$image_name = uniqid().‘.jpg‘;
//纯粹是看jpeg不爽才替换的
}else{
$image_name = uniqid().‘.‘.$result[2];
}
$image_file = "./Public/Personal/{$image_name}";
//服务器文件存储路径
if (file_put_contents($image_file, base64_decode(str_replace($result[1], ‘‘, $base64_image)))){
return ‘/Public/Personal/‘.$image_name;
}else{
return false;
}
}else{
return false;
}
}

以上是关于基于ThinkPHP解决了前端以base64形式传文件实现文件上传的函数封装的主要内容,如果未能解决你的问题,请参考以下文章

使用base64编码传图片

使用base64编码传图片

easypoi导出表格带echars图表

easypoi导出表格带echars图表

thinkphp验证码(支持图片和base64)

前端批量上传图片后端怎么接收?