php判断终端是手机还是电脑访问网站的思路及代码


Posted in PHP onApril 24, 2013

代码一:

<?php 
function check_wap() { 
if (isset($_SERVER['HTTP_VIA'])) return true; 
if (isset($_SERVER['HTTP_X_NOKIA_CONNECTION_MODE'])) return true; 
if (isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID'])) return true; 
if (strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML") > 0) { 
// Check whether the browser/gateway says it accepts WML. 
$br = "WML"; 
} else { 
$browser = isset($_SERVER['HTTP_USER_AGENT']) ? trim($_SERVER['HTTP_USER_AGENT']) : ''; 
if(empty($browser)) return true; 
$mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ'); 
$mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod'); 
$found_mobile=checkSubstrs($mobile_os_list,$browser) || 
checkSubstrs($mobile_token_list,$browser); 
if($found_mobile) 
$br ="WML"; 
else $br = "WWW"; 
} 
if($br == "WML") { 
return true; 
} else { 
return false; 
} 
} 
function checkSubstrs($list,$str){ 
$flag = false; 
for($i=0;$i<count($list);$i++){ 
if(strpos($str,$list[$i]) > 0){ 
$flag = true; 
break; 
} 
} 
return $flag; 
} 
if(check_wap()){ 
echo "wap"; 
}else{ 
echo "web"; 
} 
?>

代码二:

<?php 
header("Content-type:text/html;charset=utf-8"); 
function is_mobile(){ 
$user_agent = $_SERVER['HTTP_USER_AGENT']; 
$mobile_agents = Array("240x320","acer","acoon","acs-","abacho","ahong","airness","alcatel","amoi","android","anywhereyougo.com","applewebkit/525","applewebkit/532","asus","audio","au-mic","avantogo","becker","benq","bilbo","bird","blackberry","blazer","bleu","cdm-","compal","coolpad","danger","dbtel","dopod","elaine","eric","etouch","fly ","fly_","fly-","go.web","goodaccess","gradiente","grundig","haier","hedy","hitachi","htc","huawei","hutchison","inno","ipad","ipaq","ipod","jbrowser","kddi","kgt","kwc","lenovo","lg ","lg2","lg3","lg4","lg5","lg7","lg8","lg9","lg-","lge-","lge9","longcos","maemo","mercator","meridian","micromax","midp","mini","mitsu","mmm","mmp","mobi","mot-","moto","nec-","netfront","newgen","nexian","nf-browser","nintendo","nitro","nokia","nook","novarra","obigo","palm","panasonic","pantech","philips","phone","pg-","playstation","pocket","pt-","qc-","qtek","rover","sagem","sama","samu","sanyo","samsung","sch-","scooter","sec-","sendo","sgh-","sharp","siemens","sie-","softbank","sony","spice","sprint","spv","symbian","tablet","talkabout","tcl-","teleca","telit","tianyu","tim-","toshiba","tsm","up.browser","utec","utstar","verykool","virgin","vk-","voda","voxtel","vx","wap","wellco","wig browser","wii","windows ce","wireless","xda","xde","zte"); 
$is_mobile = false; 
foreach ($mobile_agents as $device) { 
if (stristr($user_agent, $device)) { 
$is_mobile = true; 
break; 
} 
} 
return $is_mobile; 
} 
if(is_mobile()){ 
echo "手机"; 
}else{ 
echo "电脑"; 
}
PHP 相关文章推荐
风格模板初级不完全修改教程
Oct 09 PHP
php 中include()与require()的对比
Oct 09 PHP
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
Mar 28 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
php标签云的实现代码
Oct 10 PHP
php数组保存文本与文本反编成数组实例
Nov 13 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
Mar 21 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
Nov 05 PHP
利用laravel搭建一个迷你博客实战教程
Aug 13 PHP
PHP里的$_GET数组介绍
Mar 22 PHP
Yii框架核心组件类实例详解
Aug 06 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 24 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
Apr 23 #PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
Apr 23 #PHP
『PHP』PHP截断函数mb_substr()使用介绍
Apr 22 #PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
Apr 22 #PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
Apr 22 #PHP
基于PHP Web开发MVC框架的Smarty使用说明
Apr 19 #PHP
PHP时间戳与日期之间转换的实例介绍
Apr 19 #PHP
You might like
php抽象方法和抽象类实例分析
2016/12/07 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
关于图片的预加载过程中隐藏未知的
2012/12/19 Javascript
分享一个我自己写的ToolTip提示插件(附源码)
2013/01/20 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
javacript获取当前屏幕大小
2016/06/04 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
2018/05/30 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
js实现抽奖的两种方法
2020/03/19 Javascript
js实现小时钟效果
2020/03/25 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
Python isinstance函数介绍
2015/04/14 Python
python处理Excel xlrd的简单使用
2017/09/12 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
分享Python切分字符串的一个不错方法
2018/12/14 Python
Python with用法:自动关闭文件进程
2019/07/10 Python
python 接口实现 供第三方调用的例子
2019/08/13 Python
PyTorch之图像和Tensor填充的实例
2019/08/18 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
2019/08/21 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
python爬取youtube视频的示例代码
2021/03/03 Python
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
地球鞋加拿大官网:Earth Shoes Canada
2020/11/17 全球购物
重阳节标语大全
2014/10/07 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
公司车队管理制度
2015/08/04 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书