ThinkPHP集成万象优图


  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.即可严重。

转载于:https://www.cnblogs.com/shugen/p/6862995.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值