步骤:

首先打开百度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. C/C++ C++ 11 std::function和std::bind用法

    std::bind() std::bind 主要用于绑定生成目标函数,一般用于生成的回调函数,cocos的回退函数都是通过std::bind和std::function实现的.两个点要明白: 1.绑定 ...

  2. PHP 利用 curl 发送 post get del put patch 请求

    因为需要在 php 开发中对接其它接口需要用 php curl 去对接其它接口 我把他们封装成函数 希望能对大家有所帮助. 这里面是封装好的会自动把 data 进行转成 json 格式,同时解码成 p ...

  3. webpack使用的补充

    1.分离生产环境和开发环境的wepack.config.js 我们可以将生产环境和开发环境中的配置分离为两个不同的文件,并且还维护一个共同的配置文件 common,可以通过 webpack.merge ...

  4. <三剑客> 老三:grep命令用法

    grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正 ...

  5. SSM + MySQL批量删除操作

    最近项目中有个购物车功能需要能够选中商品,然后批量删除的操作,也可以单个删除,其实代码很简单就能实现. 这里需要注意的就是你前端是怎么传值的,我这里采用的数组的形式,用 ‘,’隔开. 然后控制层代码如 ...

  6. bugku | 你从哪里来

    题目链接 之前一直以为要用x-forwarded-for ,谁道用的是referer,Orz.在此特地记录,x-forwarded-for 和 referer的区别 X-Forwarded-For(X ...

  7. 01 【零基础入门】html学习笔记(1)

    之前学习了前端的一些基础知识,现在想深入地.精通地学习前端,往前端和全栈工程师方向发展. 之前学习前端主要是通过看视频,结合动手练习.现在认为看书+视频+实践,应该是最高效的学习方法.对于html.c ...

  8. Docker 进入容器的4种方法

    在使用Docker创建了容器之后,大家比较关心的就是如何进入该容器了,其实进入Docker容器有好几多种方式,这里我们就讲一下常用的几种进入Docker容器的方法. 进入Docker容器比较常见的几种 ...

  9. AGC037C Numbers on a Circle

    题目大意 给你一个序列a和序列b 每次操作是a[i]+=a[i-1]+a[i+1] 问a经过最少几次操作可以得到b 分析 用堆维护a 每次取出最大的 撤销操作直到不能撤销 将新数放入堆 不断维护即可 ...

  10. English-such as, for example, include and contain

    such as 后接动词,通常用动名词,有时也可用动词原形 for example 后接动词,用动名词 include vt. 包含,包括 后接动词,用动名词 英英: If one thing inc ...