<?php
require_once 'lib/AipBase.php';
class AipImageCensor extends AipBase{
private $antiPornUrl = 'https://aip.baidubce.com/rest/2.0/antiporn/v1/detect';
private $antiPornGifUrl = 'https://aip.baidubce.com/rest/2.0/antiporn/v1/detect_gif';
private $antiTerrorUrl = 'https://aip.baidubce.com/rest/2.0/antiterror/v1/detect';
private $faceAuditUrl = 'https://aip.baidubce.com/rest/2.0/solution/v1/face_audit';
private $imageCensorCombUrl = 'https://aip.baidubce.com/api/v1/solution/direct/img_censor';
private $imageCensorUserDefinedUrl = 'https://aip.baidubce.com/rest/2.0/solution/v1/img_censor/user_defined';
private $antiSpamUrl = 'https://aip.baidubce.com/rest/2.0/antispam/v2/spam';
public function antiPorn($image){
$data = array();
$data['image'] = base64_encode($image);
return $this->request($this->antiPornUrl, $data);
}
public function multi_antiporn($images){
$data = array();
foreach($images as $image){
$data[] = array(
'image' => base64_encode($image),
);
}
return $this->multi_request($this->antiPornUrl, $data);
}
public function antiPornGif($image){
$data = array();
$data['image'] = base64_encode($image);
return $this->request($this->antiPornGifUrl, $data);
}
public function antiTerror($image){
$data = array();
$data['image'] = base64_encode($image);
return $this->request($this->antiTerrorUrl, $data);
}
public function faceAudit($images, $configId=''){
if(!is_array($images)){
$images = array(
$images,
);
}
$data = array(
'configId' => $configId,
);
$isUrl = substr(trim($images[0]), 0, 4) === 'http';
if(!$isUrl){
$arr = array();
foreach($images as $image){
$arr[] = base64_encode($image);
}
$data['images'] = implode(',', $arr);
}else{
$urls = array();
foreach($images as $url){
$urls[] = urlencode($url);
}
$data['imgUrls'] = implode(',', $urls);
}
return $this->request($this->faceAuditUrl, $data);
}
public function imageCensorComb($image, $scenes='antiporn', $options=array()){
$scenes = !is_array($scenes) ? explode(',', $scenes) : $scenes;
$data = array(
'scenes' => $scenes,
);
$isUrl = substr(trim($image), 0, 4) === 'http';
if(!$isUrl){
$data['image'] = base64_encode($image);
}else{
$data['imgUrl'] = $image;
}
$data = array_merge($data, $options);
return $this->request($this->imageCensorCombUrl, json_encode($data), array(
'Content-Type' => 'application/json',
));
}
public function imageCensorUserDefined($image){
$data = array();
$isUrl = substr(trim($image), 0, 4) === 'http';
if(!$isUrl){
$data['image'] = base64_encode($image);
}else{
$data['imgUrl'] = $image;
}
return $this->request($this->imageCensorUserDefinedUrl, $data);
}
public function antiSpam($content, $options=array()){
$data = array();
$data['content'] = $content;
$data = array_merge($data, $options);
return $this->request($this->antiSpamUrl, $data);
}
}