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.即可严重。
ThinkPHP集成万象优图的更多相关文章
- 腾讯云万象优图每个账户提供50G的图片存储(支持黄图检测)
文章由GIT博客迁移过来 程序下载地址(源码也在):点我下载 设计说明 10月20号晚上,准备写这么一个程序. 腾讯云万象优图每个账户提供50G的图片存储(支持黄图检测) 可以在截图之后,直接点击上传 ...
- python基于万象优图识别图片中的中文
最近一直在研究光学字符识别,即OCR.最开始在谷爹那里了解到了开源的Tesseract,可以拿来识别简单的英文和数字.但是识别中文的准确率并不高. 然后从Tesseract到Tesseract.js, ...
- Ueditor编辑器图片上传到万象优图
最近想用typecho做一个个人博客站,typecho的文本编辑器不能上传图片,我就用Ueditor替换的了原来的文本编辑器,听说腾讯的万象优图每月有50G的免费空间和流量,我就自己改了下Uedito ...
- 在腾讯云上把Laravel整合万向优图图片管理能力,打造高效图片处理服务
推荐理由: 现如今数据爆炸性增长,人类生活产出的数据越来越多,文字信息,图片信息,视频信息:但有很多信息我们都无法直接使用,需通过一定的处理,才能够获取其中对我们有用的信息,在腾讯云上的万向优图能够对 ...
- 【腾讯云的1001种玩法】 Laravel 整合万向优图图片管理能力,打造高效图片处理服务
版权声明:本文由白宦成原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/574549001488234358 来源:腾云阁 h ...
- 基于CentOS体验万象优图鉴黄服务
系统要求:CentOS 7.2 64 位操作系统 初始化配置 使用万象优图图片鉴黄 API 接口,我们需要先完成以下步骤: 获取腾讯云账号 APP ID 配置云 API 公钥/密钥 配置优图 buck ...
- 腾讯优图及知脸(ZKface)人脸比对接口测试(python)
一.腾讯优图 1.开发者地址:http://open.youtu.qq.com/welcome/developer 2.接入流程:按照开发者页面的接入流程接入之后,创建应用即可获得所需的AppID.S ...
- 腾讯优图联手Science发布主题报告:计算机视觉的研发和应用
近日,腾讯优图与<科学>(Science)杂志共同发布<Seeing is believing: R&D applications of computer vision> ...
- 腾讯优图&港科大提出一种基于深度学习的非光流 HDR 成像方法
目前最好的高动态范围(HDR)成像方法通常是先利用光流将输入图像对齐,随后再合成 HDR 图像.然而由于输入图像存在遮挡和较大运动,这种方法生成的图像仍然有很多缺陷.最近,腾讯优图和香港科技大学的研究 ...
随机推荐
- 老李分享:loadrunner 的86401错误
老李分享:loadrunner 的86401错误 系统和软件配置: os:windows 2003loadruner版本:LoadRunner11loadrunner:协议:SMTP协议并发数:2 ...
- 手机自动化测试:appium源码分析之bootstrap九
手机自动化测试:appium源码分析之bootstrap九 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣, ...
- python_21_线程+进程+协程
python_线程_进程_协程 什么是线程? -- os能够进行运算调度的最小单位,被包含在进程之中,是一串指令的集合 -- 每个线程都是独立的,可以访问同一进程下所有的资源 什么是进程? -- 每个 ...
- php Redis常用命令
redis是一个很好的缓存工具,下面我们就来介绍一下他怎么使用 启动 Redis 服务src/redis-server或者src/redis-server redis.conf src/Redis-s ...
- 读书笔记 effective c++ Item 44 将与模板参数无关的代码抽离出来
1. 使用模板可能导致代码膨胀 使用模板是节省时间和避免代码重用的很好的方法.你不需要手动输入20个相同的类名,每个类有15个成员函数,相反,你只需要输入一个类模板,然后让编译器来为你实例化20个特定 ...
- Java环境变量详解
自己总结些再加抄点: 安装JDK后要配置环境变量,主要有三个: 1 JAVA_HOME ->为JDK的安装目录,如:F:\JAVA\jdk1.6.0_04 2 CLASSPATH ->到哪 ...
- 20+个很棒的Android开源项目
20+个很棒的Android开源项目 本文摘自文章: 20+ Awesome Open-Source Android Apps To Boost Your Development Skills. 考虑 ...
- 拍照、本地图片工具类(兼容至Android7.0)
拍照.本地图片工具类:解决了4.4以上剪裁会提示"找不到文件"和6.0动态授予权限,及7.0报FileUriExposedException异常问题. package com.hb ...
- Unity3D 正六边形,环状扩散,紧密分布,的程序
最近在做一个正六边形的游戏,被一开始的布局难倒了. 需求:中心有个正六边形,输入围绕中心扩散的环数,自动创建和摆放. 大概就是这样的吧,我觉得这个非常轻松的就可以搞定了.啊~~~~~啊~~~ 五环~~ ...
- Linux - 函数的栈帧
栈帧(stack frame),机器用栈来传递过程参数,存储返回信息,保存寄存器用于以后恢复,以及本地存储.为单个过程(函数调用)分配的那部分栈称为栈帧.栈帧其实是两个指针寄存器, 寄存器%ebp为帧 ...