1. 项目原因

    不告诉你,反正需要把腾讯云的万象优图整合进来。
  2. 下载PHP版的万象优图的SDK

    下载地址:https://github.com/tencentyun/image-php-sdk
  3. git clone 后的文件架构如下

  4. 修改Tencentyun文件夹下面的7个文件的文件名为*.class.php.

  5. 将修改好的sdk导入到项目中去,我这里导入到了Application->Home->Controller->PhotoServer中了,如下图。

  6. 修改Tencentyun文件夹下的7个.class.php文件的namespace为正确的namespace 。

namespace Home\Controller\PhotoServer\Tencentyun;

  • 参考sdk文件夹下的samplev2.php编写测试Controller。代码如下 :

    代码后面有注意事项。
  • <?php
    /**
    * Created by PhpStorm.
    * User: Administrator
    * Date: 2016/7/3
    * Time: 11:44
    */
    namespace Home\Controller\PhotoServer; use Home\Controller\BaseController; require('include.php'); use Home\Controller\PhotoServer\Tencentyun\ImageV2;
    use Home\Controller\PhotoServer\Tencentyun\Auth;
    use Home\Controller\PhotoServer\Tencentyun\ImageProcess; class PhotoTestController extends BaseController
    {
    /**
    * @return view
    */
    public function index()
    {
    //智能鉴黄
    $pornUrl = 'http://b.hiphotos.baidu.com/image/pic/item/8ad4b31c8701a18b1efd50a89a2f07082938fec7.jpg';
    $pornRet = ImageProcess::pornDetect($pornUrl);
    var_dump($pornRet); // V2增强版空间 带有空间和自定义文件名的示例
    // 上传图片
    $bucket = 'zlktest'; // 自定义空间名称,在http://console.qcloud.com/image/bucket创建
    $fileid = 'sample' . time(); // 自定义文件名
    $uploadRet = ImageV2::upload('D:/123.jpg', $bucket, $fileid);
    var_dump('upload', $uploadRet); //分片上传
    $uploadSliceRet = ImageV2::uploadSlice('D:/123.jpg');
    var_dump('upload_slice', $uploadSliceRet); if (0 === $uploadRet['code']) {
    $fileid = $uploadRet['data']['fileid'];
    $downloadUrl = $uploadRet['data']['downloadUrl']; // 查询管理信息
    $statRet = ImageV2::stat($bucket, $fileid);
    var_dump('stat', $statRet);
    // 复制
    $copyRet = ImageV2::copy($bucket, $fileid);
    var_dump('copy', $copyRet); // 生成私密下载url
    $expired = time() + 999;
    $sign = Auth::getAppSignV2($bucket, $fileid, $expired);
    $signedUrl = $downloadUrl . '?sign=' . $sign;
    var_dump('downloadUrl:', $signedUrl); //生成新的单次签名, 必须绑定资源fileid,复制和删除必须使用,其他不能使用
    $fileid = $fileid . time() . rand(); // 自定义文件名
    $expired = 0;
    $sign = Auth::getAppSignV2($bucket, $fileid, $expired);
    var_dump($sign); //生成新的多次签名, 可以不绑定资源fileid
    $fileid = '';
    $expired = time() + 999;
    $sign = Auth::getAppSignV2($bucket, $fileid, $expired);
    var_dump($sign); //$delRet = ImageV2::del($bucket, $fileid);
    //var_dump($delRet);
    }
    } }
    1. 注意事项

      1. 代码中使用了地址为:http://b.hiphotos.baidu.com/image/pic/item/8ad4b31c8701a18b1efd50a89a2f07082938fec7.jpg 的图片。图片内容如下 :

      2. ImageV2::upload('D:/123.jpg', $bucket, $fileid);这里的D:/123.jpg是用来模拟上传测试的。
      3. 测试示例会顺带使用万象优图的黄图鉴别功能。
    2. 访问localhost/项目名/index.php/Home/PhotoServer/PhotoTest/index路径。返回结果如下,返回字段的详细信息请参考万象优图的官方文档。

    3. 测试上传是否成功 。我的D:/123.jpg的图片内容是步骤4中的Tencentyun的文件结构图。根据上面9中所得到的地址为:http://zlktest-10010932.image.myqcloud.com/786c2e74-4591-42ed-861e-8fe27b356c14.即可严重。

    ThinkPHP集成万象优图的更多相关文章

    1. 腾讯云万象优图每个账户提供50G的图片存储(支持黄图检测)

      文章由GIT博客迁移过来 程序下载地址(源码也在):点我下载 设计说明 10月20号晚上,准备写这么一个程序. 腾讯云万象优图每个账户提供50G的图片存储(支持黄图检测) 可以在截图之后,直接点击上传 ...

    2. python基于万象优图识别图片中的中文

      最近一直在研究光学字符识别,即OCR.最开始在谷爹那里了解到了开源的Tesseract,可以拿来识别简单的英文和数字.但是识别中文的准确率并不高. 然后从Tesseract到Tesseract.js, ...

    3. Ueditor编辑器图片上传到万象优图

      最近想用typecho做一个个人博客站,typecho的文本编辑器不能上传图片,我就用Ueditor替换的了原来的文本编辑器,听说腾讯的万象优图每月有50G的免费空间和流量,我就自己改了下Uedito ...

    4. 在腾讯云上把Laravel整合万向优图图片管理能力,打造高效图片处理服务

      推荐理由: 现如今数据爆炸性增长,人类生活产出的数据越来越多,文字信息,图片信息,视频信息:但有很多信息我们都无法直接使用,需通过一定的处理,才能够获取其中对我们有用的信息,在腾讯云上的万向优图能够对 ...

    5. 【腾讯云的1001种玩法】 Laravel 整合万向优图图片管理能力,打造高效图片处理服务

      版权声明:本文由白宦成原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/574549001488234358 来源:腾云阁 h ...

    6. 基于CentOS体验万象优图鉴黄服务

      系统要求:CentOS 7.2 64 位操作系统 初始化配置 使用万象优图图片鉴黄 API 接口,我们需要先完成以下步骤: 获取腾讯云账号 APP ID 配置云 API 公钥/密钥 配置优图 buck ...

    7. 腾讯优图及知脸(ZKface)人脸比对接口测试(python)

      一.腾讯优图 1.开发者地址:http://open.youtu.qq.com/welcome/developer 2.接入流程:按照开发者页面的接入流程接入之后,创建应用即可获得所需的AppID.S ...

    8. 腾讯优图联手Science发布主题报告:计算机视觉的研发和应用

      近日,腾讯优图与<科学>(Science)杂志共同发布<Seeing is believing: R&D applications of computer vision> ...

    9. 腾讯优图&港科大提出一种基于深度学习的非光流 HDR 成像方法

      目前最好的高动态范围(HDR)成像方法通常是先利用光流将输入图像对齐,随后再合成 HDR 图像.然而由于输入图像存在遮挡和较大运动,这种方法生成的图像仍然有很多缺陷.最近,腾讯优图和香港科技大学的研究 ...

    随机推荐

    1. ReactJS入门:展示数据

      由于公司开发需要,博主利用闲暇的时间对ReactJS的基础知识进行了一些粗浅的认识和了解.博主对ReactJS的学习主要来自官网(http://reactjs.cn/react/docs/thinki ...

    2. java代码打印打印杨辉三角

      郑州大学 徐峰 public class Print { void print(){ int[][] a=new int[6][6]; for(int i=0;i<a.length;i++){ ...

    3. nano使用介绍

      作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. GNU nano是Unix系统下一款常用的文本编辑器,以简单易用著称.与之相比,功能更强大的Vi和Emac ...

    4. 【R.转载】apply函数族的使用方法

      为什么用apply 因为我是一个程序员,所以在最初学习R的时候,当成"又一门编程语言"来学习,但是怎么学都觉得别扭.现在我的看法倾向于,R不是一种通用型的编程语言,而是一种统计领域 ...

    5. php数组--2017-04-16

      一.定义数组 (1)索引数组 $arr=array(1,2,3,3); (2)关联数组  类似于集合 $arr1=array("one"=>"111",& ...

    6. Virtualbox 复制 CentOS 虚拟机无法联网

      Centos刚装好后无法联网 复制虚拟机后,出现 No such device eth0 我们要处理的三个问题: 在Virtualbox上安装好Centos后如何联网 如何在Virtualbox上复制 ...

    7. mvc中razor的一个bug

      具体东西就不多说了,所有编译,代码都是木有问题的. 结果预览页面的时候竟然告诉我编译错误,尼玛这不科学啊. 来看看错误页面 看着问题大概应该是缺少} ,或者多了个} 倒置的编译错误才对,但是编译生成完 ...

    8. centos7安装httpd和php

      centos7许多命令都变了,又要重新记了. centos7默认安装了httpd吧?记不清了,看一下: rpm -qa |grep httpd 没有的话,安装一下吧. yum -y install h ...

    9. Block Token 原理分析

      介绍 文件权限检查由NameNode执行,而不是DataNode执行. 默认情况下,任何客户端都可以访问只有其块ID的任何块. 为了解决这个问题,Hadoop引入了块访问令牌的概念. 块访问令牌由Na ...

    10. java集合的核心知识

      1.    集合 1.1. 什么是集合 存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式. 集合的出现就是为了持有对象. ...