PHP base64多图片上传
// 多图片上传,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多图片上传的更多相关文章
- 微信支付特约商户进件中base64格式图片上传
微信图片上传接口地址:https://api.mch.weixin.qq.com/v3/merchant/media/upload 1.上传方法 1 using HttpHandlerDemo; 2 ...
- base64转图片上传
不成功,但是有一定的借鉴性 /** * @param base64Codes * 图片的base64编码 */ function sumitImageFile(base64Codes){ consol ...
- php base64编码图片上传七牛
上网上找了好几个例子 都是自己写curl上传 感觉七牛这么多年了不应该sdk不提供一个方法 然后试 试 试 显示put 方式 上传上去 就是个字符串 后来换成文件上传方法 putFile 成了 不废话 ...
- JavaUtil 处理Base64的图片上传
UploadImageBase64.java package com.lee.util; import java.io.File; import java.io.FileOutputStream; i ...
- ios base64图片上传失败问题
今天做图片上传,后台用的是base64解密图片二进制文件,以前都是用表单上传来解决图片上传的,现在后台没有人改,所以研究下base64上传. 需要将图片base64加密,但是调用 [data base ...
- 利用cropper插件裁剪本地图片,然后将裁剪过后的base64图片上传至七牛云空间
现在做的项目需要做一些图片处理,由于时间赶急,之前我便没有处理图片,直接将图片放在input[type=file]里面,以文件的形式提交给后台,这样做简直就是最低级的做法,之后各种问题便出来了,人物头 ...
- file标签 - 图片上传前预览 - FileReader & 网络图片转base64和文件流
记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了 ...
- tp5 base64 图片上传
/** * 保存图片 */ public function uploads($value='') { // $file = base64_decode(request()->file('imag ...
- js实现图片上传预览功能,使用base64编码来实现
实现图片上传的方法有很多,这里我们介绍比较简单的一种,使用base64对图片信息进行编码,然后直接将图片的base64信息存到数据库. 但是对于系统中需要上传的图片较多时并不建议采用这种方式,我们一般 ...
随机推荐
- centos下tomcat自启动
一.在指定目录创建脚本并赋予755权限 vim /etc/init.d/tomcat #!/bin/bash # # kenny kenny.zhou@tom.com # /etc/rc.d/init ...
- 三十六 Python分布式爬虫打造搜索引擎Scrapy精讲—利用开源的scrapy-redis编写分布式爬虫代码
scrapy-redis是一个可以scrapy结合redis搭建分布式爬虫的开源模块 scrapy-redis的依赖 Python 2.7, 3.4 or 3.5,Python支持版本 Redis & ...
- combobox里面显示checkbox
看了http://www.cnblogs.com/yubinfeng/p/4463418.html这篇博客,我添加了部分代码,以便在最后获取combobox的value时可以拿到一个数组. HTML代 ...
- poj 1787 背包+记录路径
http://poj.org/problem?id=1787 Charlie's Change Time Limit: 1000MS Memory Limit: 30000K Total Subm ...
- wireshark捕获到的TCP包图示
wireshark抓到的包与对应的协议层如下图所示: wireshark捕获到的TCP包中的每个字段如下图所示:
- memcache笔记
服务端: 通过printf配合nc向memcached中写入数据[root@yz6245 ~]# printf "set key1 0 0 6\r\noldboy\r\n" |nc ...
- JS兼容性汇总
1. Frame (1)问题:在IE中可以用window.top.frameId和window.top.frameName来得到该Frame所代表的Window,Firefox中只能用window ...
- 导出/打印项目数据报表需要设置IE浏览器
导出/打印项目数据报表需要设置IE浏览器如下: 1.将本地服务器站点设置为可信站点, 2.通过点击网页上的工具→Internet选项→安全→自定义级别→把关于activeX控件和插件的选项都设置成启用 ...
- 使用RateLimiter完成简单的大流量限流,抢购秒杀限流
RateLimiter是guava提供的基于令牌桶算法的实现类,可以非常简单的完成限流特技,并且根据系统的实际情况来调整生成token的速率. 通常可应用于抢购限流防止冲垮系统:限制某接口.服务单位时 ...
- Kotlin 第一弹:自定义 ViewGroup 实现流式标签控件
古人学问无遗力, 少壮工夫老始成.纸上得来终觉浅, 绝知此事要躬行. – 陆游 <冬夜读书示子聿> 上周 Google I/O 大会的召开,宣布了 Kotlin 语言正式成为了官方开发语言 ...