zoukankan      html  css  js  c++  java
  • 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 HomeControllerPhotoServerTencentyun;

  • 参考sdk文件夹下的samplev2.php编写测试Controller。代码如下 :
    代码后面有注意事项。
  • <?php
    /**
     * Created by PhpStorm.
     * User: Administrator
     * Date: 2016/7/3
     * Time: 11:44
     */
    namespace HomeControllerPhotoServer;
    
    use HomeControllerBaseController;
    
    require('include.php');
    
    use HomeControllerPhotoServerTencentyunImageV2;
    use HomeControllerPhotoServerTencentyunAuth;
    use HomeControllerPhotoServerTencentyunImageProcess;
    
    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.即可严重。

  • 相关阅读:
    0593. Valid Square (M)
    0832. Flipping an Image (E)
    1026. Maximum Difference Between Node and Ancestor (M)
    0563. Binary Tree Tilt (E)
    0445. Add Two Numbers II (M)
    1283. Find the Smallest Divisor Given a Threshold (M)
    C Primer Plus note9
    C Primer Plus note8
    C Primer Plus note7
    C Primer Plus note6
  • 原文地址:https://www.cnblogs.com/shugen/p/6862995.html
Copyright © 2011-2022 走看看