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 相关文章推荐
jQuery EasyUI API 中文文档 - DateBox日期框
Oct 15 PHP
php 多关键字 高亮显示实现代码
Apr 23 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
php多文件上传实现代码
Feb 20 PHP
php的array数组和使用实例简明教程(容易理解)
Mar 20 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
Apr 23 PHP
php中常见的sql攻击正则表达式汇总
Nov 06 PHP
PHP嵌套输出缓冲代码实例
May 12 PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 PHP
PHP+Ajax实现的博客文章添加类别功能示例
Mar 29 PHP
PHP实现的分解质因数操作示例
Aug 01 PHP
PHP getName()函数讲解
Feb 03 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函数和特点
2013/08/08 PHP
php版微信公众号接口实现发红包的方法
2016/10/14 PHP
Laravel下生成验证码的类
2017/11/15 PHP
nginx 设置多个站跨域
2021/03/09 Servers
js 操作符实例代码
2009/10/24 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
JS实现遮罩层效果的简单实例
2013/11/12 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
2015/01/21 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
解析jQueryEasyUI的使用
2016/11/22 Javascript
javascript学习之json入门
2016/12/22 Javascript
vue实现列表的添加点击
2016/12/29 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
使用keras实现densenet和Xception的模型融合
2020/05/23 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
2020/06/10 Python
python 调用Google翻译接口的方法
2020/12/09 Python
移动web模拟客户端实现多方框输入密码效果【附代码】
2016/03/25 HTML / CSS
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
如何客观的进行自我评价
2013/12/17 职场文书
医学院校毕业生自荐信范文
2014/01/01 职场文书
公司面试感谢信
2014/02/01 职场文书
时尚女魔头观后感
2015/06/04 职场文书
学生会主席任命书
2015/09/21 职场文书
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js