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信息存到数据库. 但是对于系统中需要上传的图片较多时并不建议采用这种方式,我们一般 ...
随机推荐
- virtio,vhost 和vhost-user
随着qemu2.1的发布,可以看到,qemu支持了vhost-user.从介绍可以看出,这是把原来vhost-backend从kernel移到了userspace,这和原来virtio架构有什么区别呢 ...
- 【Python】序列的方法
任何序列都可以引用其中的元素(item). 下面的内建函数(built-in function)可用于列表(表,定值表,字符串) #s为一个序列 len(s) 返回: 序列中包含元素的个数 min(s ...
- HTML 中 id与name 区别
一个name可以同时对应多个控件,比如checkbox和radio而id必须是全文档中唯一的 id的用途1) id是HTML元素的Identity,主要是在客户端脚本里用.2) label与form控 ...
- Doxygen简介
(转自:http://www.cnblogs.com/liuliunumberone/archive/2012/04/10/2441391.html) 一.什么是Doxygen? Doxygen 是一 ...
- GDB和Core Dump使用笔记
一.GNU C编译器(即GCC) GCC使用 1 .gcc -g hello.c -o hello 编译生成可执行文件 2.gdb hello 启动GDB ...
- 如何创建 Visual Studio 2017 RC 离线安装包
创建 Visual Studio 的离线安装计划 首先下载相应版本的可执行文件,例如:vs_community.exe.vs_enterprise.exe 或 vs_professional 在 cm ...
- Python 把二进制mnist数据库转换为图片
mnist数据库可以通过caffe里的get_mnist.sh文件下载,路径是: caffe-master/data/mnist/get_mnist.sh,get_mnist.sh内容如下: #!/u ...
- 【MFC】MFC DLEdit 设计属于自己的编辑框_鼠标悬停
MFC DLEdit 设计属于自己的编辑框 2012-02-04 13:00 by 捣乱小子, 3543 阅读, 5 评论, 收藏, 编辑 起因 无意间看到了大牛们写的自定义编辑框控件,于是找了个时间 ...
- 无线网破解 跑字典 EWSA使用教程
当我们用奶瓶抓到包,就可以再windowsxp&7&8下跑字典 工具/原料 EWSA4.0完美汉化破解版 字典 方法/步骤 1.打开程序 2.导入握手包 3.配置EWSA ,1.选项 ...
- iOS6 自动布局 入门–Auto Layout
目前为止,即使你的界面设计是在合理的复杂度内,你也必须要为之写许多代码来适应变化的布局.现在我相信你会很高兴听到这种情况将不会发生了-对于iPhone与iPad IOS6 带来了一个非常了不起的特征: ...