欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > php >内容正文

php

ThinkPHP集成万象优图

发布时间:2024/4/17 php 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 ThinkPHP集成万象优图 小编觉得挺不错的,现在分享给大家,帮大家做个参考.


  • 项目原因
    不告诉你,反正需要把腾讯云的万象优图整合进来。
  • 下载PHP版的万象优图的SDK
    下载地址:https://github.com/tencentyun/image-php-sdk
  • git clone 后的文件架构如下
  • 修改Tencentyun文件夹下面的7个文件的文件名为*.class.php.
  • 将修改好的sdk导入到项目中去,我这里导入到了Application->Home->Controller->PhotoServer中了,如下图。
  • 修改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);}}}
  • 注意事项

  • 代码中使用了地址为:http://b.hiphotos.baidu.com/image/pic/item/8ad4b31c8701a18b1efd50a89a2f07082938fec7.jpg 的图片。图片内容如下 :
  • ImageV2::upload('D:/123.jpg', $bucket, $fileid);这里的D:/123.jpg是用来模拟上传测试的。
  • 测试示例会顺带使用万象优图的黄图鉴别功能。
  • 访问localhost/项目名/index.php/Home/PhotoServer/PhotoTest/index路径。返回结果如下,返回字段的详细信息请参考万象优图的官方文档。

  • 测试上传是否成功 。我的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

    总结

    以上是生活随笔为你收集整理的ThinkPHP集成万象优图的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。