php判断电脑访问、手机访问的例子


Posted in PHP onMay 10, 2014

所以我就研究怎么用php去判断网页是电脑访问还是手机访问,然后再通过去加载不同的css来达到手机和电脑都可以正常的访问的效果。

网站查了很多资料,终于找到了一个合适、比较好用的代码,也希望能给大家一个参考。

<?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 相关文章推荐
一键删除顽固的空文件夹 软件下载
Jan 26 PHP
php 防止单引号,双引号在接受页面转义
Jul 10 PHP
PHP验证码类代码( 最新修改,完全定制化! )
Dec 02 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
Dec 16 PHP
php cli 小技巧
Jun 03 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
Jun 29 PHP
yii上传文件或图片实例
Apr 01 PHP
ThinkPHP查询中的魔术方法简述
Jun 25 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
Jul 14 PHP
thinkPHP中volist标签用法示例
Dec 06 PHP
Django 中 cookie的使用
Aug 17 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 PHP
php计算程序运行时间的简单例子分享
May 10 #PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
May 10 #PHP
php递归删除目录下的文件但保留的实例分享
May 10 #PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
May 10 #PHP
php使用mkdir创建多级目录入门例子
May 10 #PHP
一个简单的PHP验证码实现代码
May 10 #PHP
php生成随机密码自定义函数代码(简单快速)
May 10 #PHP
You might like
PHP ajax 分页类代码
2008/11/13 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
2016/03/14 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
jquery 选择器引擎sizzle浅析
2013/02/06 Javascript
jQuery源码分析之Callbacks详解
2015/03/13 Javascript
理解javascript中try...catch...finally
2015/12/25 Javascript
详解webpack 多页面/入口支持&amp;公共组件单独打包
2017/06/29 Javascript
浅谈Koa服务限流方法实践
2017/10/23 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
[52:09]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第二场
2014/05/26 DOTA
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
Python完全新手教程
2007/02/08 Python
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
python实现随机梯度下降(SGD)
2020/03/24 Python
python使用多进程的实例详解
2018/09/19 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
2019/04/29 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
如何清空python的变量
2020/07/05 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
大学生村官任职感言
2014/01/09 职场文书
迟到检讨书300字
2014/02/14 职场文书
学校消防演习方案
2014/02/19 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
成绩报告单家长评语
2014/12/30 职场文书
金秋助学感谢信
2015/01/21 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
vue代码分块和懒加载非必要资源文件
2022/04/11 Vue.js