• 【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 ThinkUpload($setting);
    $info = $Upload->upload($_FILES);

    这样就能成功把图片上传到七牛云啦!!

    但是我们需要在网站上对七牛云上面的图片进行管理删除怎么办?

    Thinkphp3.2已经集成了QiniuStorage

    可以看ThinkphpThinkUploadDriverQiniu下的QiniuStorage文件里面的方法

    示例几个调用方法:

    删除图片方法:

    $setting=C('UPLOAD_FRIEND');
    $qiniu = new ThinkUploadDriverQiniuQiniuStorage($setting['driverConfig']);
    $res = $qiniu->del('图片文件名');

    查看图片列表方法:

    $setting=C('UPLOAD_FRIEND');
    $qiniu = new ThinkUploadDriverQiniuQiniuStorage($setting['driverConfig']);
    $list = $qiniu->getList();
    dump($list);

    批量删除方法:

    $setting=C('UPLOAD_FRIEND');
    $qiniu = new ThinkUploadDriverQiniuQiniuStorage($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

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

  • 相关阅读:
    cookie,session和cache关于缓存的使用和区别
    CPU利用率与Load Average的区别
    进程和线程
    当load飙升时问题排查思路
    动态查看JVM内存的工具
    springcloud在 repository层通过sql语句实现查询功能
    java ==与equals的区别
    java 位运算(经常用到)
    api document 文档撰写实例
    markdown 语法案例
  • 原文地址:https://www.cnblogs.com/BearLee/p/8148396.html
Copyright © 2020-2023  润新知