// 多图片上传,base64
public function upload_multi() {
$pic = $_POST['pic'];
if (!$pic) {
$this->json->setErr('10001',lang('tips_param_error'));
$this->json->Send();
} $err = 0;
$out_data = [];
if (is_array($pic)) {
foreach ($pic as $k=>$v) { // 处理base64图片数据
$img = $this->base64_to_img($v);
if (!$img) {
$err ++;
}
$out_data[] = $img;
}
} else {
// 处理base64图片数据
$img = $this->base64_to_img($pic);
if (!$img) {
$err ++;
}
$out_data[] = $img;
} if($err == 0){
// 处理凭证绑定
$this->json->setErr(0,lang('tips_deal_success'));
$this->json->setAttr('data',$out_data);
$this->json->Send();
}else{
$this->json->setErr(10099, lang('tips_deal_fail'));
$this->json->Send();
}
} // base64=>img
public function base64_to_img($base64_str,$us = 'img') {
// $base_img是获取到前端传递的src里面的值,也就是我们的数据流文件
if (strstr($base64_str,",")){
$base64_str_arr = explode(',',$base64_str);
$base64_str = $base64_str_arr[1];
}
// 设置文件路径和文件前缀名称
$folders = date('Ymd',time());
$path = "site_upload/".$us.'/'.$folders.'/';
if (!is_dir($path)){
@mkdir('./'.$path, 0777,true);
}
$prefix='rf_';
$output_file = $prefix.time().rand(100,999).'.jpg';
$img_path = $path.$output_file;
// 创建将数据流文件写入我们创建的文件内容中
$ifp = fopen( $img_path, "wb" );
fwrite( $ifp, base64_decode( $base64_str) );
fclose( $ifp );
// 输出文件
$qiniu = new QiniuImg(); $img = config('user.sf_host'). $img_path;
$ext = pathinfo($img, PATHINFO_EXTENSION);
$name = time() . mt_rand() . '.' . $ext;
$s = $qiniu->up($img, $name, config('user.qiniu.bucket')); @unlink('./' .$img_path); if($s){
return config('user.cdn_host') . $name;
} else {
return false;
}
}

PHP base64多图片上传的更多相关文章

  1. 微信支付特约商户进件中base64格式图片上传

    微信图片上传接口地址:https://api.mch.weixin.qq.com/v3/merchant/media/upload 1.上传方法 1 using HttpHandlerDemo; 2 ...

  2. base64转图片上传

    不成功,但是有一定的借鉴性 /** * @param base64Codes * 图片的base64编码 */ function sumitImageFile(base64Codes){ consol ...

  3. php base64编码图片上传七牛

    上网上找了好几个例子 都是自己写curl上传 感觉七牛这么多年了不应该sdk不提供一个方法 然后试 试 试 显示put 方式 上传上去 就是个字符串 后来换成文件上传方法 putFile 成了 不废话 ...

  4. JavaUtil 处理Base64的图片上传

    UploadImageBase64.java package com.lee.util; import java.io.File; import java.io.FileOutputStream; i ...

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

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

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

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

  7. file标签 - 图片上传前预览 - FileReader & 网络图片转base64和文件流

    记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了 ...

  8. tp5 base64 图片上传

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

  9. js实现图片上传预览功能,使用base64编码来实现

    实现图片上传的方法有很多,这里我们介绍比较简单的一种,使用base64对图片信息进行编码,然后直接将图片的base64信息存到数据库. 但是对于系统中需要上传的图片较多时并不建议采用这种方式,我们一般 ...

随机推荐

  1. centos下tomcat自启动

    一.在指定目录创建脚本并赋予755权限 vim /etc/init.d/tomcat #!/bin/bash # # kenny kenny.zhou@tom.com # /etc/rc.d/init ...

  2. 三十六 Python分布式爬虫打造搜索引擎Scrapy精讲—利用开源的scrapy-redis编写分布式爬虫代码

    scrapy-redis是一个可以scrapy结合redis搭建分布式爬虫的开源模块 scrapy-redis的依赖 Python 2.7, 3.4 or 3.5,Python支持版本 Redis & ...

  3. combobox里面显示checkbox

    看了http://www.cnblogs.com/yubinfeng/p/4463418.html这篇博客,我添加了部分代码,以便在最后获取combobox的value时可以拿到一个数组. HTML代 ...

  4. poj 1787 背包+记录路径

    http://poj.org/problem?id=1787 Charlie's Change Time Limit: 1000MS   Memory Limit: 30000K Total Subm ...

  5. wireshark捕获到的TCP包图示

    wireshark抓到的包与对应的协议层如下图所示: wireshark捕获到的TCP包中的每个字段如下图所示:

  6. memcache笔记

    服务端: 通过printf配合nc向memcached中写入数据[root@yz6245 ~]# printf "set key1 0 0 6\r\noldboy\r\n" |nc ...

  7. JS兼容性汇总

    1.  Frame  (1)问题:在IE中可以用window.top.frameId和window.top.frameName来得到该Frame所代表的Window,Firefox中只能用window ...

  8. 导出/打印项目数据报表需要设置IE浏览器

    导出/打印项目数据报表需要设置IE浏览器如下: 1.将本地服务器站点设置为可信站点, 2.通过点击网页上的工具→Internet选项→安全→自定义级别→把关于activeX控件和插件的选项都设置成启用 ...

  9. 使用RateLimiter完成简单的大流量限流,抢购秒杀限流

    RateLimiter是guava提供的基于令牌桶算法的实现类,可以非常简单的完成限流特技,并且根据系统的实际情况来调整生成token的速率. 通常可应用于抢购限流防止冲垮系统:限制某接口.服务单位时 ...

  10. Kotlin 第一弹:自定义 ViewGroup 实现流式标签控件

    古人学问无遗力, 少壮工夫老始成.纸上得来终觉浅, 绝知此事要躬行. – 陆游 <冬夜读书示子聿> 上周 Google I/O 大会的召开,宣布了 Kotlin 语言正式成为了官方开发语言 ...