项目原因
不告诉你,反正需要把腾讯云的万象优图整合进来。
准备
下载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
。代码如下 :
代码后面有注意事项。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| <?php
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 {
public function index() { $pornUrl = 'http://b.hiphotos.baidu.com/image/pic/item/8ad4b31c8701a18b1efd50a89a2f07082938fec7.jpg'; $pornRet = ImageProcess::pornDetect($pornUrl); var_dump($pornRet);
$bucket = 'zlktest'; $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);
$expired = time() + 999; $sign = Auth::getAppSignV2($bucket, $fileid, $expired); $signedUrl = $downloadUrl . '?sign=' . $sign; var_dump('downloadUrl:', $signedUrl);
$fileid = $fileid . time() . rand(); $expired = 0; $sign = Auth::getAppSignV2($bucket, $fileid, $expired); var_dump($sign);
$fileid = ''; $expired = time() + 999; $sign = Auth::getAppSignV2($bucket, $fileid, $expired); var_dump($sign);
} }
}
|
注意事项
- 代码中使用了地址为:
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
.即可严重。