【PHP】Thinkphp 七牛云API对接
访问一个网站,图片的流量占的比例是非常高的!在你的服务器硬盘上,图片占的容量也是非常高的。
如果要搞一个图片非常多,用户量又很庞大的网站,那么,得花多少钱烧在服务器上?
这种时候,当然要用第三方图片存储平台啦!
我们看看使用thinkphp3.2怎么和七牛云API进行对接吧:
第一步:
复制下面链接打开,注册七牛云,创建空间
http://developer.qiniu.com/article/kodo/kodo-first/quickstart.html
第二步:
七牛云个人面板——密钥管理——获取AK和SK
第三步:
打开Thinkphp配置文件config.php
'UPLOAD_FRIEND' => array (
'maxSize' => 5 * 1024 * 1024,//文件大小
'rootPath' => './',
'saveName' => array ('uniqid', ''),
'driver' => 'Qiniu',
'driverConfig' => array (
'secrectKey' => 'SK输入到这里',
'accessKey' => 'AK输入到这里',
'domain' => '七牛云空间的测试域名,一般为XXXX.clouddn.com',
'bucket' => '七牛云空间名称',
),
),
第四步:
前台提交到控制器后,控制器直接调用配置项,直接可上传文件到七牛云,控制器调用方法如下:
$setting=C('UPLOAD_FRIEND');
$Upload = new \Think\Upload($setting);
$info = $Upload->upload($_FILES);
这样就能成功把图片上传到七牛云啦!!
但是我们需要在网站上对七牛云上面的图片进行管理删除怎么办?
Thinkphp3.2已经集成了QiniuStorage
可以看Thinkphp\Think\Upload\Driver\Qiniu\下的QiniuStorage文件里面的方法
示例几个调用方法:
删除图片方法:
$setting=C('UPLOAD_FRIEND');
$qiniu = new \Think\Upload\Driver\Qiniu\QiniuStorage($setting['driverConfig']);
$res = $qiniu->del('图片文件名');
查看图片列表方法:
$setting=C('UPLOAD_FRIEND');
$qiniu = new \Think\Upload\Driver\Qiniu\QiniuStorage($setting['driverConfig']);
$list = $qiniu->getList();
dump($list);
批量删除方法:
$setting=C('UPLOAD_FRIEND');
$qiniu = new \Think\Upload\Driver\Qiniu\QiniuStorage($setting['driverConfig']);
$arr = array("图片文件名","图片文件名","图片文件名");
$res= $qiniu->delBatch($arr);
那么我们把图片上传到七牛云了,我们直接访问 七牛云空间测试域名/图片文件名就可以访问到那张图片啦!
而且七牛云还支持生成略缩图/加水印/裁剪等方式访问获取!
在七牛的空间控制面板——图片处理——图片样式那里可以自定义你想要的样式!
设置好后会生成一段处理接口:
如:imageView2/2/w/79/h/79/format/jpg/interlace/0/q/70
那么我们怎么访问处理后的图片?
七牛云空间测试域名 + / + 图片文件名 + ? +处理接口
这样就能获取处理过的图片!不同的情景使用不同大小的图片!超好用!
【PHP】Thinkphp 七牛云API对接的更多相关文章
- 动手实操(一):如何用七牛云 API 实现相片地图?
实操玩家: 在苹果手机上,我们只要打开定位服务,拍照后便能在相簿中找到地图,地图上显示着在各地拍摄的相片.网站上这种显示方式也并不少见,例如 Flickr.即将关闭的 Panoramio 等. 作为地 ...
- angular封装七牛云图片上传,解决同一页面多个上传按钮分别上传
step1:引入文件 引入Plupload *该SDK上传功能集于Plupload插件封装,所以需要下载Plupload; plupload.dev.js 引入qiniu.js为了简便,当时直接从官网 ...
- thinkphp 中 使用七牛云上传
利用七牛云私有空间存储文件 第一步,注册七牛云,创建空间,将空间设为私有 需要记下的东西: AK,SK,bucket 第二步配置ThinkPHP 在config.php添加 'UPLOAD_SITEI ...
- 在ThinkPHP框架(5.0.24)下引入Ueditor并实现向七牛云对象存储上传图片同时将图片信息保存到MySQL数据库,同时实现lazyload懒加载
这是我花了很多天的时间才得以真正实现的一组需求. 文章后面有完整Demo的GitHub链接. 一. 需求描述 1. 应用是基于ThinkPHP5开发的: 2. 服务器环境是LNMP,PHP版本是7.2 ...
- 利用ThinkPHP自带的七牛云驱动上传文件到七牛云以及删除七牛云文件方法
一.准备工作 1.注册七牛云账号 2.选择对象储存->创建空间->设置为公开 3.在config配置文件中添加以下代码 'UPLOAD_FILE_QINIU' => array ( ...
- ueditor上传图片到七牛云存储(form api,java)
转:http://my.oschina.net/duoduo3369/blog/174655 ueditor上传图片到七牛云存储 ueditor结合七牛传图片 七牛的试炼 开发前的准备与注意事项说明 ...
- 七牛云整合Ueditor的ThinkPHP版本
首先去七牛云官网下载phpSDK工具放在Think/library/Vendor下. ueditor后台调用方法: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- 使用Python3.7+Tornado5.1配合七牛云存储api来异步切分上传文件
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_123 之前写了几篇关于FastDfs分布式存储的文章:python3.7.3操作FastDfs来进行文件操作,其实市面上关于云存储 ...
- 使用python3.7+Vue.js2.0+Django2.0.4异步前端通过api上传文件到七牛云云端存储
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_130 之前一篇文章是通过普通js+tornado来上传七牛云:使用Tornado配合七牛云存储api来异步切分上传文件,本次使用v ...
随机推荐
- 【C#】=>符号的使用
Lambda表达式.Lambda表达式是C#3.0的新内容,如果您之前学习的C#2.0,不认识也就不奇怪了.给您举个例子.例如,我定义一个委托:delegate int Method(int a, i ...
- Maven的安装以及介绍
附录:带阿里源的maven用户设置文件-settings.xml <?xml version="1.0" encoding="UTF-8"?> &l ...
- 详细介绍VO(值对象)和PO(持久对象)的区别
VO,值对象(Value Object),PO,持久对象(Persisent Object),它们是由一组属性和属性的get和set方法组成.从结构上看,它们并没有什么不同的地方.但从其意义和本质上来 ...
- 程序员从初级到中级10个秘诀——摘自CSDN
程序员从初级到中级10个秘诀 1.学习先进的搜索技术.手段和及策略 2.帮助别人 教别人始终是学习一切东西的最好方法之一.相对而言,由于你在开发领域还是个新手,认为自己没什么可教给人家的,这可以理解. ...
- ElasticSearch多个字段分词查询高亮显示
ElasticSearch关键字查询,将关键字分词后查询,多个字段,查询出来字段高亮显示. 查询方法如下: public List<NewsInfo> searcher2(String k ...
- RabbitMQ:消息发送确认 与 消息接收确认(ACK)
默认情况下如果一个 Message 被消费者所正确接收则会被从 Queue 中移除 如果一个 Queue 没被任何消费者订阅,那么这个 Queue 中的消息会被 Cache(缓存),当有消费者订阅时则 ...
- WPF动画的几种模式
最近在用WPF做简单动画,以下是几点经验总结: 1. 使用DispatcherTimer做动画 VB6的年代大家就用Timer做动画了,不用多解释,这个DispatcherTimer和本身的Timer ...
- javascript的常用操作(一)
1. 实时监听input的值变化 onchange事件只在键盘或者鼠标操作改变对象属性,且失去焦点时触发,脚本触发无效; 而onkeydown/onkeypress/onkeyup在处理复制.粘贴. ...
- OSS基本概念介绍
存储空间(Bucket): 存储空间是用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间. 可以设置和修改存储空间属性用来控制地域.访问权限.生命周期等,这些属性设置直接作用于该存 ...
- (转载)C#线程优先级详解
计算机中经常会有多个任务同时运行,其中总有一些看起来更紧急,更需要优先完成.比如我们现在有两个任务,一个任务是下载一部电影,另一个任务是检测用户的输入.显然及时响应用户操作应具有更高的优先级,因为我们 ...