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 相关文章推荐
Extended CHM PHP 语法手册之 DIY
Oct 09 PHP
php桌面中心(二) 数据库写入
Mar 11 PHP
php auth_http类库进行身份效验
Mar 19 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
Oct 19 PHP
php 获取全局变量的代码
Apr 21 PHP
PHP递归复制、移动目录的自定义函数分享
Nov 18 PHP
php自动识别文字编码并转换为目标编码的方法
Aug 08 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
Nov 30 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
Jan 19 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
Jul 01 PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 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
星际实力自我测试
2020/03/04 星际争霸
用Socket发送电子邮件
2006/10/09 PHP
smtp邮件发送一例
2006/10/09 PHP
PHP setcookie() cannot modify header information 的解决方法
2009/01/09 PHP
php短域名转换为实际域名函数
2011/01/17 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
php全角字符转换为半角函数
2014/02/07 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
2014/04/28 PHP
PHP四种基本排序算法示例
2015/04/09 PHP
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
基于json的jquery地区联动效果代码
2011/07/06 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
浅析AngularJS中的生命周期和延迟处理
2015/06/18 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
Vue.directive使用注意(小结)
2018/08/31 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
python连接oracle数据库实例
2014/10/17 Python
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
Python异常处理机制结构实例解析
2020/07/23 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
C#怎么让一个窗口居中显示?
2015/10/20 面试题
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
租赁意向书范本
2014/04/01 职场文书
80后婚前协议书范本
2014/10/24 职场文书
优秀党员事迹材料
2014/12/18 职场文书
美术教师个人总结
2015/02/06 职场文书
教师旷工检讨书
2015/08/15 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL