访问一个网站,图片的流量占的比例是非常高的!在你的服务器硬盘上,图片占的容量也是非常高的。

如果要搞一个图片非常多,用户量又很庞大的网站,那么,得花多少钱烧在服务器上?

这种时候,当然要用第三方图片存储平台啦!

我们看看使用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

那么我们怎么访问处理后的图片?

七牛云空间测试域名 + / + 图片文件名 + ? +处理接口

如:http://XXXXXXXXX.bkt.clouddn.com/2016-07-18_578c75f175bcd.jpg?imageView2/2/w/79/h/79/format/jpg/interlace/0/q/70

这样就能获取处理过的图片!不同的情景使用不同大小的图片!超好用!

【PHP】Thinkphp 七牛云API对接的更多相关文章

  1. 动手实操(一):如何用七牛云 API 实现相片地图?

    实操玩家: 在苹果手机上,我们只要打开定位服务,拍照后便能在相簿中找到地图,地图上显示着在各地拍摄的相片.网站上这种显示方式也并不少见,例如 Flickr.即将关闭的 Panoramio 等. 作为地 ...

  2. angular封装七牛云图片上传,解决同一页面多个上传按钮分别上传

    step1:引入文件 引入Plupload *该SDK上传功能集于Plupload插件封装,所以需要下载Plupload; plupload.dev.js 引入qiniu.js为了简便,当时直接从官网 ...

  3. thinkphp 中 使用七牛云上传

    利用七牛云私有空间存储文件 第一步,注册七牛云,创建空间,将空间设为私有 需要记下的东西: AK,SK,bucket 第二步配置ThinkPHP 在config.php添加 'UPLOAD_SITEI ...

  4. 在ThinkPHP框架(5.0.24)下引入Ueditor并实现向七牛云对象存储上传图片同时将图片信息保存到MySQL数据库,同时实现lazyload懒加载

    这是我花了很多天的时间才得以真正实现的一组需求. 文章后面有完整Demo的GitHub链接. 一. 需求描述 1. 应用是基于ThinkPHP5开发的: 2. 服务器环境是LNMP,PHP版本是7.2 ...

  5. 利用ThinkPHP自带的七牛云驱动上传文件到七牛云以及删除七牛云文件方法

    一.准备工作 1.注册七牛云账号 2.选择对象储存->创建空间->设置为公开 3.在config配置文件中添加以下代码 'UPLOAD_FILE_QINIU' => array ( ...

  6. ueditor上传图片到七牛云存储(form api,java)

    转:http://my.oschina.net/duoduo3369/blog/174655 ueditor上传图片到七牛云存储 ueditor结合七牛传图片 七牛的试炼 开发前的准备与注意事项说明 ...

  7. 七牛云整合Ueditor的ThinkPHP版本

    首先去七牛云官网下载phpSDK工具放在Think/library/Vendor下. ueditor后台调用方法: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  8. 使用Python3.7+Tornado5.1配合七牛云存储api来异步切分上传文件

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_123 之前写了几篇关于FastDfs分布式存储的文章:python3.7.3操作FastDfs来进行文件操作,其实市面上关于云存储 ...

  9. 使用python3.7+Vue.js2.0+Django2.0.4异步前端通过api上传文件到七牛云云端存储

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_130 之前一篇文章是通过普通js+tornado来上传七牛云:使用Tornado配合七牛云存储api来异步切分上传文件,本次使用v ...

随机推荐

  1. Spring那些不得不知的细节

    1.SpringMVC拦截器的url-pattern和RequestMapping 案例: url-pattern为/rest/* http请求为:/rest/query/id 那么requestMa ...

  2. SpringBoot | 第四章:日志配置(转)

    前言 介于平时工作中,对于日志这块没有过多的接触,也就未有过多的了解.故在编写本文时,上官网查看了相关资料,奈何每个字母我都认识,但合起来就有点晕了,英文阅读水平还是有待大大的提高呀.最后觉得还是转载 ...

  3. 在txt文本后追加内容

    public void CheckLog(string Log)      {             if (File.Exists(LogFile))              {         ...

  4. 在sublime text3下,用快捷键把文件打开到浏览器中

    使用背景 在编辑html或者js文件的时候,是否想在浏览器中预览一下, 你的步骤可能是这样的: 找到编辑文件的位置, 右键使用某一浏览器打开.如果是这样,你就out了, 因为在sublime中有更加简 ...

  5. System path '/Users/hxy/Library/Caches/PyCharm2018.2' is invalid.

    Mac系统下安装pycharm后启动出现System path '/Users/hxy/Library/Caches/PyCharm2018.2' is invalid.问题: 1.出现原因: 1.1 ...

  6. 从零开始的全栈工程师——js篇2.4

    条件语句与循环语句 变量提升: 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域叫window ,window分两个模块,一个叫内存模块,一个叫运行模块,内存模块找到当前作 ...

  7. ABAP:从例子学习ABAP

    1.插入内表行: *插入内表行: DATA: BEGIN OF man, name(20) TYPE c, high TYPE p DECIMALS 2, weight TYPE p DECIMALS ...

  8. [Jira]启动报错无法删除缓存文件felix-cache的解决方法

    背景: 由于公司机房停电,jira服务器在停电期间需要关机处理,然而待重启启动服务时,jira出现报错,页面报错信息如下: Unable to clean the cache directory: / ...

  9. C++编写双向链表

    创建双向链表类,该类有默认构造函数.类的拷贝函数.类的.实现链表添加数据.升序排序.查找链表中某个节点及删除链表中某个节点的操作 代码实现: #include<iostream> #inc ...

  10. Hyper-V 2016 配置管理系列(部署篇)

    Hyper主机前提准备以后,我们开始Hyper-V Cluster 群集配置 准备验证Cluster 群集 : 1)打开群集管理器,点击"validate Configuration&quo ...