PHP ci 版本:3.1.8
百度文字识别PHP sdk 版本:2.2.2
百度文字识别的文档地址(文档上有OCR PHP SDK下载的地址) https://cloud.baidu.com/doc/OCR/OCR-PHP-SDK.html#.E6.96.B0.E5.BB.BAAipOcr
下载完成后将文件解压到 PHP CodeIgniter 的 application/libraries下(我自己在libraries目录下建了一个目录单独管理)
图1
如果 和我一样单独 在libraries建立文件夹管理的,要在程序里的文件引入处做简单修改; 如 图2
图2
如果OCR PHP SDK的所有文件、目录直接放在 libraries 目录下的,上述文件路径可以不改。
重点来了:
要改OCR PHP SDK的lib/AipBase.php文件的构造方法(大概位置的50行到80行之间)
public function __construct($dataarr){
$this->appId = trim($dataarr['appId']);
$this->apiKey = trim($dataarr['apiKey']);
$this->secretKey = trim($dataarr['secretKey']);
/*//原来的构造函数有三个参数现在改为用1个数组传递,代码如上
$this->appId = trim($appId);
$this->apiKey = trim($apiKey);
$this->secretKey = trim($secretKey);
*/
$this->isCloudUser = null;
$this->client = new AipHttpClient();
$this->version = '2_2_2';
$this->proxies = array();
}
为什么要这样改呢?(PHP ci 官方文档地址http://codeigniter.org.cn/user_guide/general/creating_libraries.html)因为PHP ci 的
$this->load->library()//加载类库的时候第二个参数携带的是一个数组,所有我们要把上述构造方法的三个参数该为一个参数
这样就简单的的改完了。可以用了。重点是要记得改一下AipBase.php这个文件的
AipBase类的构造方法。。
另外就是在PHP ci 里加载类库,代码如下:defined('BASEPATH') OR exit('No direct script access allowed');
class Baiduocr extends CI_Controller {
public function index()
{
$params = array('appId'=>'填自己的', 'apiKey'=>'填自己的','secreKey'=>'填自己的');
$this->load->library('AipOcr',$params);//这里可以按照 上述给的PHPci官方文档说明 创建config文件处理
$url ='http://wwwww.s21i.faiusr.com/4/11111111.png';//图片URL
$data = $this->aipocr->basicGeneralUrl($url);//这里选择自己需要的对应功能的方法
print_r($data);
}
}
这样就打通了可以识别出数据了(当然识别出来的结果处理按照自己的需要做处理)
这一搞,就能更进一步了解PHP ci 的创建类库了。。。