百度终端适配封装类-移动适配识别手机和电脑的类

widuu 2013-5-30 PHP技术 5,051 2 喜欢 (0)

今天用到了移动适配,百度移动端适配,为了能够准确的识别手机还是电脑,所以我们用了百度的终端适配服务,经过测试这个东西的准确率非常高,为了方便以后人的使用我就把它封装成了一个类,就不必要再写那么多的代码,只需要你有一个百度的应用提取上边的client_id和client_secret就可以使用了!
[php]
<?php
/**
* Baiapt.class.php 百度移动终端适配类
*
* @copyright widuu
* @license http://www.widuu.com
* @lastmodify 2013-5-30
*/
class Baiapt{
private $client_id; //百度应用 duapp.com中申请添加应用 就可以获得API Key
private $client_secret; //对应的Secret Key
private $grant_type = 'client_credentials';
private $token;
function __construct($client_id,$client_secret){
$this -> client_id = $client_id;
$this -> client_secret = $client_secret;
$this -> token = $this ->gettoken();
}

//封装的https的post方法获得返回参数
private function post($url,$post,$header="Content-type: text/xml"){
$ch = curl_init($url);
curl_setopt($ch ,CURLOPT_HEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_POST, 1);
if(is_array($post)){
$post = http_build_query($post ,'','&');
}
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}

//获取token的方法
private function gettoken(){
$post = array(
'grant_type' =>$this->grant_type,
'client_id' =>$this->client_id,
'client_secret' =>$this->client_secret,
);
$result = $this->post('https://openapi.baidu.com/oauth/2.0/token',$post);
$token = json_decode($result)->access_token;
return $token;
}

/**
* 识别手机和客户端
*
* @param string $useragent 获取的浏览器类型$_SERVER['HTTP_USER_AGENT']获得
* @return 手机和电脑 $pc == 1是手机 2是电脑
*/
public function Pcphone($useragent){
$data = array(
'access_token' =>$this->token,
'lcid'=>'miad',
'user_agent'=>$useragent,
);
$result = $this->post('https://openapi.baidu.com/rest/2.0/wise/adapt',$data);
$pc = json_decode($result)->device_type;
if($pc == 1){
return "手机";
}else{
return "电脑";
}
}
}

$pc = new Baiapt('wlNdR8VdDc1ZCiQfdG8TWNoY','idDM8IFCKK0IhQHSTgKb3m9dKwzNdttK'); //输入百度的应用的api 和key就可以了
echo $pc->Pcphone($_SERVER['HTTP_USER_AGENT']); //1是手机 2是电脑
[/php]

如果大家还有什么不明白的,可以留言或者发送邮件到admin#widuu.com到我的邮箱咨询,我会尽快回答您们!

转载请注明来自微度网络,本文标题:《百度终端适配封装类-移动适配识别手机和电脑的类》

喜欢 0 发布评论
Top