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』PHP截断函数mb_substr()使用介绍
Apr 22 PHP
ThinkPHP中Session用法详解
Nov 29 PHP
php实现CSV文件导入和导出
Oct 24 PHP
php三种实现多线程类似的方法
Oct 30 PHP
php发送短信验证码完成注册功能
Nov 24 PHP
PHP的PDO操作简单示例
Mar 30 PHP
PHP strip_tags保留多个HTML标签的方法
May 22 PHP
php 在字符串指定位置插入新字符的简单实现
Jun 28 PHP
PHP中Socket连接及读写数据超时问题分析
Jul 19 PHP
php查询及多条件查询
Feb 26 PHP
laravel通过a标签从视图向控制器实现传值
Oct 15 PHP
php框架知识点的整理和补充
Mar 01 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/06/02 PHP
thinkphp的静态缓存用法分析
2014/11/29 PHP
PHP登录(ajax提交数据和后台校验)实例分享
2016/12/29 PHP
降低PHP Redis内存占用
2017/03/23 PHP
laravel中的fillable和guarded属性详解
2019/10/23 PHP
多浏览器兼容的获取元素和鼠标的位置的js代码
2009/12/15 Javascript
js 蒙版进度条(结合图片)
2010/03/10 Javascript
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
JavaScript获取Url里的参数
2014/12/18 Javascript
jQuery简单实现隐藏以及显示特效
2015/02/26 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
js生成随机数的方法实例
2015/10/16 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
HTML5 实现的一个俄罗斯方块实例代码
2016/09/19 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
JS定义函数的几种常用方法小结
2019/05/23 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
发布你的Python模块详解
2016/09/15 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
举例讲解Python装饰器
2020/12/24 Python
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
机关门卫的岗位职责
2014/04/29 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书