【PHP】 php 解析 base64图片上传
base64 图片编码格式: 类似如下
data:image/JPG;base64,/9j/4S/+RXhpZgAATU0AKgAAAAgACwEPAAIAAAAG
php 解析代码如下: 基于tp3.2得
public function file_upload(){$base64_str = ""; //base64 图片流
$result_base64 = $this->get_bass64_array($base64_str);
$file_name_base64 = $result_base64['file_name'];
$file_type = $result_base64['flie_type'];
$upload_img = base64_decode($file_name_base64);
$img_file_name = 'large/';
$img_name = uniqid().".".$file_type;
$upload_path = C('upload_path'); // 设置附件上传根目录
$rootPath = C('upload_img_url'). rtrim($upload_path, '/'); //设置上传全路径
$file_path = $rootPath."/".$img_file_name.$img_name;
$upload_result = file_put_contents($file_path, $upload_img);//保存图片,返回的是字节数
if(empty($upload_result) || $upload_result =='0'){
unlink($upload_result);
E("文件上传失败",'102');
}
$img_info_size = ceil(filesize($file_path)); //单位:B
$maxSize = 5*1024*1024; // 设置附件上传大小 5M
if($img_info_size > $maxSize){
unlink($upload_result);
E("文件大小超出限制:5M",'103');
}
$returnPath= $upload_path.$img_file_name.$img_name;
$preview=C('img_base').$returnPath;
$return_data = array(
"returnPath"=>$returnPath,
"preview"=>$preview //预览使用
);
return $return_data;
}
//处理base64:
private function get_bass64_array($data_str){
if(empty($data_str)){
return '';
}
$base_array= explode(',', $data_str);
$base_file = $base_array[1];
$base_file_type=$this->get_between($base_array[0], "/", ";");
$return_data = array(
"flie_type"=>$base_file_type,
'file_name'=>$base_file
);
return $return_data;
}
/*
* php截取指定两个字符之间字符串
* */
private function get_between($input, $start, $end) {
$substr = substr($input, strlen($start)+strpos($input, $start),(strlen($input) - strpos($input, $end))*(-1));
return $substr;
}
核心代码如上,可根据自己业务或者框架代码 稍作修改,即可使用
【PHP】 php 解析 base64图片上传的更多相关文章
- 利用cropper插件裁剪本地图片,然后将裁剪过后的base64图片上传至七牛云空间
现在做的项目需要做一些图片处理,由于时间赶急,之前我便没有处理图片,直接将图片放在input[type=file]里面,以文件的形式提交给后台,这样做简直就是最低级的做法,之后各种问题便出来了,人物头 ...
- php实现base64图片上传方式实例代码
<?php /** * base64图片上传 * @param $base64_img * @return array */ header("content-type:text/htm ...
- ios base64图片上传失败问题
今天做图片上传,后台用的是base64解密图片二进制文件,以前都是用表单上传来解决图片上传的,现在后台没有人改,所以研究下base64上传. 需要将图片base64加密,但是调用 [data base ...
- tp5 base64 图片上传
/** * 保存图片 */ public function uploads($value='') { // $file = base64_decode(request()->file('imag ...
- base64图片上传,并根据不同项目进行智能修改图片
前台传图片的base64格式,后台处理方式//处理图片信息 返回对应的路径public function uploadBaseIma($imgArr){ $result = array(); //将路 ...
- tomcat 下 base64图片上传超过2m的解决方案
方案一: tomcat部署下默认post请求提交参数大小为2M左右,超过这个大小,就会传值不成功 要使post请求参数无大小限制,需要在server.xml上修改,如下: <Connector ...
- 简单的html5 File base64 图片上传
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- php图片上传base64数据编码。
/** * base64图片上传 */ function IdImg($base64_img = ''){ $up_dir = 'upload/';//存放在当前目录的upload文件夹下 if(!f ...
- 七牛图片上传JSSDK
BASE64图片上传 接口说明: POST /putb64/<Fsize>/key/<EncodedKey>/mimeType/<EncodedMimeType>/ ...
随机推荐
- Java如何设定二维数组的上限?
在Java中,如何设定二维数组的上限? 以下示例中,使用arrayname.length来确定二维数组的上限(元素数目). package com.yiibai; public class Dimen ...
- Maven Web应用
创建Web应用程序 要创建一个简单的java web应用程序,我们将使用Maven的原型 - web应用插件.因此,让我们打开命令控制台,进入到C: MVN目录并执行以下命令mvn命令. C:MVN& ...
- Mysql 8.0.11版本,安装成功,使用Navicat连接失败。
Note:本文只针对mac!! 问题 安装mysql成功之后,想自己弄个数据库试试,但是报错.并不是错误代号,而是一段代码: Authentication plugin 'caching_sha2_p ...
- 成都传智播客java就业班(14.04.01班)就业快报(Java程序猿薪资一目了然)
这是成都传智播客Java就业班的就业情况,很多其它详情请见成都传智播客官网:http://cd.itcast.cn?140812ls 姓名 入职公司 入职薪资(¥) 方同学 安**软件成都有限公司(J ...
- jquery 插件和后台模板搜集
弹框 alert confirmhttp://www.jq22.com/jquery-info2607 jQuery表格排序筛选插件http://www.jq22.com/jquery-info880 ...
- kubeadm init 卡在 Created API client, waiting for the control plane to become ready
执行 kubeadm init 时出现卡在了 [apiclient] Created API client, waiting for the control plane to become ready ...
- 激活函数ReLU、Leaky ReLU、PReLU和RReLU
“激活函数”能分成两类——“饱和激活函数”和“非饱和激活函数”. sigmoid和tanh是“饱和激活函数”,而ReLU及其变体则是“非饱和激活函数”.使用“非饱和激活函数”的优势在于两点: 1 ...
- Excel破解密码代码
Option ExplicitPublic Sub AllInternalPasswords()' Breaks worksheet and workbook structure passwords. ...
- C++ 中的constkeyword
为什么使用const?採用符号常量写出的代码更easy维护:指针经常是边读边移动,而不是边写边移动:很多函数參数是仅仅读不写的.const最常见用途是作为数组的界和switch分情况标号(也能够用枚举 ...
- jsTree 插件Ajax数据
完整代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta ...