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 相关文章推荐
PHP开发文件系统实例讲解
Oct 09 PHP
discuz的php防止sql注入函数
Jan 17 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
May 18 PHP
thinkPHP的Html模板标签使用方法
Nov 13 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
Mar 06 PHP
一个PHP针对数字的加密解密类
Mar 20 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
Oct 24 PHP
php+mysql数据库实现无限分类的方法
Dec 12 PHP
php操纵mysqli数据库的实现方法
Sep 18 PHP
PHP7扩展开发教程之Hello World实现方法示例
Aug 03 PHP
TP5框架简单登录功能实现方法示例
Oct 31 PHP
一次项目中Thinkphp绕过禁用函数的实战记录
Nov 17 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
Yii多表联合查询操作详解
2016/06/02 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
深入学习微信网址链接解封的防封原理visit_type
2019/08/15 PHP
基于JQuery制作的产品广告效果
2010/12/08 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
JavaScript:Array类型全面解析
2016/05/19 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
原生js实现轮播图
2017/02/27 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
浅谈AngularJS中$http服务的简单用法
2018/05/15 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
python的几种开发工具介绍
2007/03/07 Python
浅谈python可视化包Bokeh
2018/02/07 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
2019/04/25 Python
python实现简单图书管理系统
2019/11/22 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
你对IPv6了解程度
2016/02/09 面试题
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
土木工程个人自荐信范文
2013/11/30 职场文书
总会计师岗位职责
2014/02/19 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
远程培训的心得体会
2014/09/01 职场文书
2015年中学图书馆工作总结
2015/07/22 职场文书
企业年会祝酒词
2015/08/11 职场文书
解决Springboot PostMapping无法获取数据的问题
2022/05/06 Java/Android