欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2024-01-16 08:17:52
...
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是电脑