步骤:

首先打开百度ai 开发平台 注册一个账号:

注册账号,进入控制台

创建自己的应用,获取apikey 和秘钥

进入文档页 文本审核:

图像审核:

代码实例:

 class Sentive

 {

   protected $accessTokenUrl = 'https://aip.baidubce.com/oauth/2.0/token';//获取token url

   protected $textUrl = 'https://aip.baidubce.com/rest/2.0/antispam/v2/spam';//文本审核url

   protected $imgUrl = 'https://aip.baidubce.com/api/v1/solution/direct/img_censor';//图片审核url

   protected $avatarUrl = 'https://aip.baidubce.com/rest/2.0/solution/v1/face_audit';//头像审核url

   protected $grant_type;

   protected $client_id;

   protected $client_secret;

   function __construct()

   {

     $this->grant_type = 'client_credentials';

     $this->client_id = 'xxx';//API Key

     $this->client_secret = 'xxx';//Secret Key

   }

   static function request($url = '', $param = '')

   {

     if (empty($url) || empty($param)) {

       return false;

     }

     $postUrl = $url;

     $curlPost = $param;

     $curl = curl_init();//初始化curl

     curl_setopt($curl, CURLOPT_URL, $postUrl);//抓取指定网页

     curl_setopt($curl, CURLOPT_HEADER, 0);//设置header

     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上

     curl_setopt($curl, CURLOPT_POST, 1);//post提交方式

     curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);

     $data = curl_exec($curl);//运行curl

     curl_close($curl);

     return $data;

   }

   static function request_post($url = '', $param = array(), $type)

   {

     if (empty($url) || empty($param)) {

       return false;

     }

     $postUrl = $url;

     $curlPost = $param;

     $curl = curl_init();

     curl_setopt($curl, CURLOPT_URL, $postUrl);

     curl_setopt($curl, CURLOPT_HEADER, 0);

     // 要求结果为字符串

     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

     // post方式

     curl_setopt($curl, CURLOPT_POST, 1);

     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

     curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);

     if ($type == "text") {

       curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));

     } else {

       curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json;charset=utf-8'));

     }

     curl_setopt($curl, CURLINFO_HEADER_OUT, true);

     $data = curl_exec($curl);

     $code = curl_getinfo($curl, CURLINFO_HTTP_CODE);

     if ($code === 0) {

       throw new \Exception(curl_error($curl));

     }

     curl_close($curl);

     return $data;

   }

   //获取token

   public function getToken()

   {

     new Redis();

     $post_data['grant_type'] = $this->grant_type;

     $post_data['client_id'] = $this->client_id;

     $post_data['client_secret'] = $this->client_secret;

     $o = "";

     foreach ($post_data as $k => $v) {

       $o .= "$k=" . urlencode($v) . "&";

     }

     $post_data = substr($o, 0, -1);

     $res = self::request($this->accessTokenUrl, $post_data);

     $redis->setkey("filterToken", json_decode($res, true)['access_token']);

     return json_decode($res, true)['access_token'];

   }

   //文本审核

   public function textVerify($data)

   {

     new Redis();

     $token = $redis->get("filterToken");

     if (empty($token)) {

       $token = $this->getToken();

     }

     $curl = $this->textUrl . "?access_token=" . $token;

     $result = self::request_post($curl, $data, "text");

     return json_decode($result, true);

   }

   //图片审核

   public function imgVerify($img)

   {

     $redis = new Redis();

     $token = $redis->get("filterToken");

     if (empty($token)) {

       $token = $this->getToken();

     }

     $curl = $this->imgUrl . "?access_token=" . $token;

     $bodys = array(

       'image' => $img,

       'scenes' => array("ocr",

         "face", "public", "politician", "antiporn", "terror", "webimage", "disgust",

         'watermark')

     );

     $bodys = json_encode($bodys);

     $result = self::request_post($curl, $bodys, "img");

     return json_decode($result, true);

   }

   //头像审核

   public function avatarVerify($img)

   {

     $redis = new Redis();

     $token = $redis->get("filterToken");

     if (empty($token)) {

       $token = $this->getToken();

     }

     $curl = $this->avatarUrl . "?access_token=" . $token;

     $bodys = array(

       "configId" => "1",

       "images" => $img

     );

     $result = self::request_post($curl, $bodys, "text");

     return json_decode($result, true);

   }

 }

链接:https://www.php.cn/php-weizijiaocheng-435576.html

利用PHP和百度ai实现文本以及图片的审核的更多相关文章

  1. PHP利用百度ai实现文本和图片审核

    之前做平台内容发布审核都是自己构建一套违禁词库,在代码中利用词库判断用户发布的内容,现在可以使用百度ai api完成这个功能.接下来就简单说下怎么做吧: 首先打开百度ai 开发平台 注册一个账号: 注 ...

  2. c# 利用AForge和百度AI开发实时人脸识别

    baiduAIFaceIdentify项目是C#语言,集成百度AI的SDK利用AForge开发的实时人脸识别的小demo,里边包含了人脸检测识别,人脸注册,人脸登录等功能 人脸实时检测识别功能 思路是 ...

  3. 利用开源框架Volley来下载文本和图片。

    Android Volley是Android平台上很好用的第三方开源网络通信框架.使用简单,功能强大. 下载连接地址:http://download.csdn.net/detail/zhangphil ...

  4. 百度AI认为最漂亮的中国女星是----范冰冰

    一.程序说明 1.1 程序说明 之前写调用百度AI接口的程序,然后刷到了两条明星的新闻,就想到了写个给明星颜值排下名的程序. 程序的关键点是两个,第一个是百度AI接口的调用这点其实直接使用早前实现的类 ...

  5. C# 如何添加Word文本和图片超链接

    超链接简单来讲就是内容链接,通过设置超链接可以实现对象与网页.站点之间的连接.链接目标可以是网页.图片.邮件地址.文件夹或者是应用程序.设置链接的对象可以是文本或者图片. 在以下内容中,我将介绍如何用 ...

  6. 百度AI文本审核API使用说明

    虽然,虽然,虽然,今天: 百度发布了2019年第一季度未经审计的财务报告.本季度百度营收241亿元人民币(约合35.9亿美元),同比增长15%,移除业务拆分收入影响,同比增长21%.低于市场预期242 ...

  7. 利用百度AI OCR图片识别,Java实现PDF中的图片转换成文字

    序言:我们在读一些PDF版书籍的时候,如果PDF中不是图片,做起读书笔记的还好:如果PDF中的是图片的话,根本无法编辑,做起笔记来,还是很痛苦的.我是遇到过了.我们搞技术的,当然得自己学着解决现在的痛 ...

  8. 百度AI技术

    利用百度提供接口,实现智能语音 语音合成 -- TTS(text to speech) 注册 在 ai.baidu.com 页面中点击 控制台 ,弹出登陆 / 注册页面 创建应用 登陆成功后,点击左侧 ...

  9. 百度AI开放平台- API实战调用

    百度AI开放平台- API实战调用 一.      前言 首先说一下项目需求. 两个用户,分别上传了两段不同的文字,要计算两段文字相似度有多少,匹配数据库中的符合条件的数据,初步估计列出来会有60-1 ...

随机推荐

  1. phpLite 压缩包 百度云网盘资源

    链接: https://pan.baidu.com/s/1b6EnClYOznWa0OFgk4aNQg 密码: gpup

  2. php ord()函数 语法

    php ord()函数 语法 作用:返回字符串的首个字符的 ASCII 值.直线电机生产厂家 语法:ord(string) 参数: 参数 描述 string 必须,要从中获得ASCII值的字符串 说明 ...

  3. 富文本框编辑器实现:a、支持图片复制粘贴;b、支持word复制粘贴图文。

    Chrome+IE默认支持粘贴剪切板中的图片,但是我要发布的文章存在word里面,图片多达数十张,我总不能一张一张复制吧?Chrome高版本提供了可以将单张图片转换在BASE64字符串的功能.但是无法 ...

  4. POJ 2114 (点分治)

    题目:https://vjudge.net/contest/307753#problem/B 题意:求树中路径和=k的点对是否存在 思路:点分治,这个题其实和上一题洛谷一样,只是这个数据强,我们不能直 ...

  5. HihoCoder - 1673 (单调队列)

    题目:https://vjudge.net/contest/319166#problem/A 题意:有一个01矩阵,求一个最大子矩阵面积,这个矩阵要求里面都是01间隔,没有0或1连续 思路:这个题其实 ...

  6. [CSP-S模拟测试]:Walk(BFS+建边)

    题目描述 在比特镇一共有$n$个街区,编号依次为$1$到$n$,它们之间通过若干条单向道路连接. 比特镇的交通系统极具特色,除了$m$条单向道路之外,每个街区还有一个编码${val}_i$,不同街区可 ...

  7. [CSP-S模拟测试73]题解

    A.小P的2048 作为一个看B哥玩了一个寒假的人这种题闭眼切好吧 模拟即可.程序模块化后直接复制粘贴. 说什么模拟不能复制粘贴的都没水平 #include<cstdio> #includ ...

  8. [CSP-S模拟测试]:Emotional Flutter(贪心)

    题目传送门(内部题51) 输入格式 第一行一个整数$t$表示数据组数.每组数据的第一行有三个整数$s,k,n$.第二行有$n$个整数$A_1,A_2,...,A_n$,依次表示黑白条的长度. 输出格式 ...

  9. 三线SWD模式Jlink

    三线SWD模式Jlink   在公司实习,部门经理让我做一个USB-CAN的适配器. 在网上找资料,找到一个开源的USB-CAN的适配器的资料. 采用的是CP2102芯片实现USB转串口.STM32作 ...

  10. HTML最全标签

    一.HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(DTD).   标签:a 说明:标明超链接的起始或目的位置.   标签:acronym 说明:标明缩写词.   ...