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图片上传的更多相关文章

  1. 利用cropper插件裁剪本地图片,然后将裁剪过后的base64图片上传至七牛云空间

    现在做的项目需要做一些图片处理,由于时间赶急,之前我便没有处理图片,直接将图片放在input[type=file]里面,以文件的形式提交给后台,这样做简直就是最低级的做法,之后各种问题便出来了,人物头 ...

  2. php实现base64图片上传方式实例代码

    <?php /** * base64图片上传 * @param $base64_img * @return array */ header("content-type:text/htm ...

  3. ios base64图片上传失败问题

    今天做图片上传,后台用的是base64解密图片二进制文件,以前都是用表单上传来解决图片上传的,现在后台没有人改,所以研究下base64上传. 需要将图片base64加密,但是调用 [data base ...

  4. tp5 base64 图片上传

    /** * 保存图片 */ public function uploads($value='') { // $file = base64_decode(request()->file('imag ...

  5. base64图片上传,并根据不同项目进行智能修改图片

    前台传图片的base64格式,后台处理方式//处理图片信息 返回对应的路径public function uploadBaseIma($imgArr){ $result = array(); //将路 ...

  6. tomcat 下 base64图片上传超过2m的解决方案

    方案一: tomcat部署下默认post请求提交参数大小为2M左右,超过这个大小,就会传值不成功 要使post请求参数无大小限制,需要在server.xml上修改,如下: <Connector ...

  7. 简单的html5 File base64 图片上传

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. php图片上传base64数据编码。

    /** * base64图片上传 */ function IdImg($base64_img = ''){ $up_dir = 'upload/';//存放在当前目录的upload文件夹下 if(!f ...

  9. 七牛图片上传JSSDK

    BASE64图片上传 接口说明: POST /putb64/<Fsize>/key/<EncodedKey>/mimeType/<EncodedMimeType>/ ...

随机推荐

  1. JDBC插入数据实例

    在本教程将演示如何在JDBC应用程序中向数据库的一个表中插入数据记录. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式中数据库表中插入数据记录. 要执行以下示例, ...

  2. Git -- 从远程库克隆

    上次我们讲了先有本地库,后有远程库的时候,如何关联远程库. 现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆. 首先,登陆GitHub,创建一个新的仓库,名字叫gitskill ...

  3. Java线程创建的两种方式

    java多线程总结一:线程的两种创建方式及优劣比较 (一)---之创建线程的两种方式 java实现多线程的两种方法的比较

  4. Build opencv libraries for android arm, x86 ubuntu

    废话不多说. 准备工作: 1. 下载源代码: http://opencv.org/ 编译平台:ubuntu14.04 opencv 2.4.6.1 本人用这样的办法编译了opecv 2.4.9 的没有 ...

  5. php base64_encode,serialize对于存入数据表中字段的数据处理方案

    A better way to save to Database $toDatabse = base64_encode(serialize($data)); // Save to database $ ...

  6. LNMP架构介绍 MySQL安装 PHP安装 Nginx介绍

  7. iOS 多线程简单使用的具体解释

    主线程 一个iOS程序执行后.默认会开启1条线程,称为"主线程"或"UI线程"(刷新UI界面最好在主线程中做.在子线程中可能会出现莫名其妙的BUG) 主线程的作 ...

  8. LinuxMint系统下Gate One的安装指南

    1. Gate One简介 前面有两个随笔介绍过开源软件tty.js和wetty在Linux的安装.Tty.js和wetty都是采用Node.js实现的开源Web-based ssh.今天来介绍另一个 ...

  9. Oracle统计每条数据的大小

    怎么查询一条记录到底占了多少空间呢,随便用一个表举例(如上图),就着解决眼前问题的原则(oracle),网上简单查了查,发现生效了,就没深入了解了,包括其它数据库怎么解决,都没做研究.Oracle下, ...

  10. MySQL死锁分析

    死锁问题背景 做MySQL代码的深入分析也有些年头了,再加上自己10年左右的数据库内核研发经验,自认为对于MySQL/InnoDB的加锁实现了如指掌,正因如此,前段时间,还专门写了一篇洋洋洒洒的文章, ...