本文介绍如何使用PHP SDK文件审核接口,检测文件中的文字和图片信息。
功能描述
文件审核目前只支持异步检测(异步检测不会实时返回检测结果)任务。关于参数的详细说明,请参见 文件异步检测。
前提条件
提交文件异步检测任务
接口 | 描述 | 支持的地域 |
FileAsyncScanV2Request | 提交文件异步检测任务,对文件中的文字和图片进行检测。 |
|
示例代码
<?php
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Green\Green;
try {
/**
* 注意:此处实例化的client尽可能重复使用,提升检测性能。避免重复建立连接。
* 常见获取环境变量方式:
* 获取RAM用户AccessKey ID:getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
* 获取RAM用户AccessKey Secret:getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
AlibabaCloud::accessKeyClient('建议从环境变量中获取RAM用户AccessKey ID', '建议从环境变量中获取RAM用户AccessKey Secret')
->timeout(10) // 超时10秒,使用该客户端且没有单独设置的请求都使用此设置
->connectTimeout(3) // 连接超时3秒,当单位小于1,则自动转换为毫秒,使用该客户端且没有单独设置的请求都使用此设置
->regionId('cn-shanghai')
->asDefaultClient();
$task1 = array('dataId' => '检测数据ID',
'url' => '待检测文件链接地址'
);
/**
* textScenes:检测内容包含文本时,指定检测场景,取值:antispam。
* imageScenes:检测内容包含图片时,指定检测场景。
*/
$result = Green::v20180509()->fileAsyncScan()
->timeout(10) // 超时10秒,request超时设置,仅对当前请求有效
->connectTimeout(3) // 连接超时3秒,当单位小于1,则自动转换为毫秒,request超时设置,仅对当前请求有效
->body(json_encode(array(
'bizType' => '业务场景',
'textScenes' => array('antispam'),
'imageScenes' => array('porn', 'ad'),
'tasks' => array($task1)
)))
->request();
print_r($result->toArray());
} catch (ClientException $exception) {
echo $exception->getMessage() . PHP_EOL;
} catch (ServerException $exception) {
echo $exception->getMessage() . PHP_EOL;
echo $exception->getErrorCode() . PHP_EOL;
echo $exception->getRequestId() . PHP_EOL;
echo $exception->getErrorMessage() . PHP_EOL;
}
获取文件异步检测任务结果
接口 | 描述 | 支持的Region |
FileAsyncScanResultsRequest | 获取文件异步检测结果。 |
|
示例代码
<?php
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Green\Green;
try {
/**
* 注意:此处实例化的client尽可能重复使用,提升检测性能。避免重复建立连接。
* 常见获取环境变量方式:
* 获取RAM用户AccessKey ID:getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
* 获取RAM用户AccessKey Secret:getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
AlibabaCloud::accessKeyClient('建议从环境变量中获取RAM用户AccessKey ID', '建议从环境变量中获取RAM用户AccessKey Secret')
->timeout(10) // 超时10秒,使用该客户端且没有单独设置的请求都使用此设置
->connectTimeout(3) // 连接超时3秒,当单位小于1,则自动转换为毫秒,使用该客户端且没有单独设置的请求都使用此设置
->regionId('cn-shanghai')
->asDefaultClient();
$result = Green::v20180509()->fileAsyncScanResults()
->timeout(10) // 超时10秒,request超时设置,仅对当前请求有效
->connectTimeout(3) // 连接超时3秒,当单位小于1,则自动转换为毫秒,request超时设置,仅对当前请求有效
->body(json_encode(array('文件审核任务ID')))
->request();
print_r($result->toArray());
} catch (ClientException $exception) {
echo $exception->getMessage() . PHP_EOL;
} catch (ServerException $exception) {
echo $exception->getMessage() . PHP_EOL;
echo $exception->getErrorCode() . PHP_EOL;
echo $exception->getRequestId() . PHP_EOL;
echo $exception->getErrorMessage() . PHP_EOL;
}
该文章对您有帮助吗?