php接入百度AI 文字识别api

作者: geeooooz | 来源:发表于2017-10-24 17:29 被阅读114次

    1.ceshi.php

    <?php
    /**
     * 发起http post请求(REST API), 并获取REST请求的结果
    * @param string $url
    * @param string $param
    * @return - http response body if succeeds, else false.
    */
    header("Content-Type: text/html; charset=UTF-8");
    function request_post($url = '', $param = '')
    {
        if (empty($url) || empty($param)) {
            return false;
        }
    
        $postUrl = $url;
        $curlPost = $param;
        // 初始化curl
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $postUrl);
        curl_setopt($curl, CURLOPT_HEADER, 0);
        // 要求结果为字符串且输出到屏幕上
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        // post提交方式
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
        // 运行curl
        $data = curl_exec($curl);
        curl_close($curl);
    
        return $data;
    }
    //获取access_token
    include 'curl.php';
    $curl = new Curl();
    $access_token = $curl->access_token();
    //定义参数并去请求api 
    $url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general?access_token=' . $access_token;
    $img = file_get_contents('1.png');
    $img = base64_encode($img);
    $bodys = array(
            "image" => $img
    );
    $data = json_decode(request_post($url, $bodys));//解码json数据
    //重定义数据
    $arr = array();
    foreach ($data->words_result as $k=>&$v){
        $arr[]=$v->words;
    }
    //转换成字符串
    var_dump(json_encode($arr));
    
    
    
    
    

    2.curl.php

    <?php 
    
    class Curl{
        public function _request($curl, $https = true,$method='GET',$data = null){
            $ch = curl_init();//初始化curl
            curl_setopt($ch, CURLOPT_URL, $curl);
            curl_setopt($ch, CURLOPT_HEADER, FALSE);//CURLOPT_HEADER 设置头部
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);//设置内容
            if($https){
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//是否进行服务器主机验证 不验证
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//是否验证证书 验证
                if($method == 'POST'){
                    curl_setopt($ch,CURLOPT_POST , true);
                    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置数据
                }
                
                $content = curl_exec($ch);//得到一个值
                curl_close($ch);//关闭资源 释放
                return $content;//返回得到的值
            }
        }
        /**
         * 获取API访问授权码
         * @param ak: ak from baidu cloud app
         * @param sk: sk from baidu cloud app
         * @return - access_token string if succeeds, else false.
         */
        public function access_token(){
            //密钥
            $ak = 'HPxjQ2nR0ClpNG9sXWBqGp47';
            $sk = 'n7wsd5Le0hFExb5G2gs0LptPAdSeDUPR';
            //请求地址
            $url = 'https://aip.baidubce.com/oauth/2.0/token';
            
            //参数
            $post_data = array();
            $post_data['grant_type']  = 'client_credentials';
            $post_data['client_id']   = $ak;
            $post_data['client_secret'] = $sk;
            
            //请求方法
            $res = $this->_request($url,true,'POST',$post_data);
            $res = json_decode($res, true);
            return $res['access_token'];
        }
    }
    ?>
    
    

    相关文章

      网友评论

      • 2d169b448a10:楼主,诚邀加入我们平台,传道受业解惑!
        geeooooz:。。自己看看官网api就可以啊

      本文标题:php接入百度AI 文字识别api

      本文链接:https://www.haomeiwen.com/subject/yxjxpxtx.html