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 相关文章推荐
攻克CakePHP系列二 表单数据显示
Oct 22 PHP
php无限分类且支持输出树状图的详细介绍
Jun 19 PHP
深入解析Session是否必须依赖Cookie
Aug 02 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
PHP扩展开发入门教程
Feb 26 PHP
PHP递归创建多级目录
Nov 05 PHP
PHP控制反转(IOC)和依赖注入(DI)
Mar 13 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
May 17 PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 PHP
详解PHP版本兼容之openssl调用参数
Jul 25 PHP
调试php程序的简单步骤
Oct 04 PHP
Laravel 5+ .env环境配置文件详解
Apr 06 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中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
PHP开发需要注意的安全问题
2010/09/01 PHP
PHP实现邮件群发的源码
2013/06/18 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
window.open的功能全解析
2006/10/10 Javascript
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
原生JS实现网络彩票投注效果
2016/09/25 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
微信小程序自定义带价格显示日历效果
2018/12/29 Javascript
深入解析vue 源码目录及构建过程分析
2019/04/24 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
OpenLayers3实现地图显示功能
2020/09/25 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
Python中处理字符串之islower()方法的使用简介
2015/05/19 Python
python动态加载包的方法小结
2016/04/18 Python
Python利用BeautifulSoup解析Html的方法示例
2017/07/30 Python
详细分析python3的reduce函数
2017/12/05 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
Python实现PS滤镜特效之扇形变换效果示例
2018/01/26 Python
python求前n个阶乘的和实例
2020/04/02 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
教师党员一句话承诺
2014/03/28 职场文书
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
大学生就业推荐表自我评价
2015/03/02 职场文书
运动会入场词
2015/07/18 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers