mirror of https://github.com/helloxz/imgurl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.3 KiB
95 lines
2.3 KiB
7 years ago
|
<?php
|
||
|
/*
|
||
|
@name:万象优图API处理接口
|
||
|
@author:xiaoz.me
|
||
|
*/
|
||
|
error_reporting(E_ALL^E_NOTICE^E_WARNING^E_DEPRECATED);
|
||
|
//载入配置
|
||
|
include_once('../config.php');
|
||
|
|
||
|
//载入万象优图SDK
|
||
|
require_once '../sdk/wxyt/index.php';
|
||
|
use QcloudImage\CIClient;
|
||
|
$client = new CIClient($identify['APP_ID'], $identify['SECRET_ID'], $identify['SECRET_KEY'], $identify['BUCKET']);
|
||
|
$client->setTimeout(60);
|
||
|
|
||
|
//获取图片地址
|
||
|
$url = $_GET['url'];
|
||
|
//获取上级目录地址
|
||
|
|
||
|
//对URL进行替换
|
||
|
$url = str_replace($config['domain'],'',$url);
|
||
|
$imgdir = explode('/',$url);//对目录进行分割
|
||
|
|
||
|
//如果链接是管理员目录则不鉴黄
|
||
|
if($imgdir[0] == $config['admindir']) {
|
||
|
$re_data = array(
|
||
|
"code" => 0,
|
||
|
"result" => 0,
|
||
|
"confidence"=> 0
|
||
|
);
|
||
|
|
||
|
echo $re_data = json_encode($re_data);
|
||
|
exit;
|
||
|
}
|
||
|
//如果不是游客目录
|
||
|
if($config['userdir'] != $imgdir[0]) {
|
||
|
//echo $imgdir[0];
|
||
|
echo '非法请求';
|
||
|
exit;
|
||
|
}
|
||
|
//重组完整图片
|
||
|
$imgurl = $config['domain'].$url;
|
||
|
$imginfo = ($client->pornDetect(array('urls'=>array($imgurl))));
|
||
|
|
||
|
$imginfo = json_decode($imginfo);
|
||
|
|
||
|
//获取状态码,0为成功
|
||
|
//$code = $imginfo->http_code;
|
||
|
//转换为数组
|
||
|
$imginfo = object2array($imginfo);
|
||
|
//状态码,0为成功
|
||
|
$code = $imginfo['result_list']['0']->code;
|
||
|
$imginfo = object2array($imginfo['result_list']['0']->data);
|
||
|
//识别结果,0 正常,1 黄图,2 疑似图片
|
||
|
$result = $imginfo['result'];
|
||
|
//识别评分,分数越高,越可能是黄图
|
||
|
$confidence = $imginfo['confidence'];
|
||
|
|
||
|
//重新返回json数据
|
||
|
$re_data = array(
|
||
|
"code" => $code,
|
||
|
"result" => $result,
|
||
|
"confidence"=> $confidence
|
||
|
);
|
||
|
|
||
|
//严格模式,如果是色情图片或疑似色情图片均放到回收站
|
||
|
if(($re_data['result'] == 1) || ($re_data['result'] == 2)) {
|
||
|
//获取图片地址
|
||
|
$url = dirname(dirname(__FILE__)).'/'.$url;
|
||
|
//回收站地址
|
||
|
$recycle = dirname(dirname(__FILE__))."/recycle/".end($imgdir);
|
||
|
//移动到回收站
|
||
|
if(copy($url,$recycle)){
|
||
|
unlink($url); //删除图片
|
||
|
}
|
||
|
}
|
||
|
|
||
|
echo $re_data = json_encode($re_data);
|
||
|
exit;
|
||
|
?>
|
||
|
|
||
|
<?php
|
||
|
//对象转数组
|
||
|
function object2array($object) {
|
||
|
if (is_object($object)) {
|
||
|
foreach ($object as $key => $value) {
|
||
|
$array[$key] = $value;
|
||
|
}
|
||
|
}
|
||
|
else {
|
||
|
$array = $object;
|
||
|
}
|
||
|
return $array;
|
||
|
}
|
||
|
?>
|