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 array 的加法操作代码
Jul 24 PHP
php中神奇的fastcgi_finish_request
May 02 PHP
用PHP的超级变量$_GET获取HTML表单(Form) 数据
May 07 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
Apr 24 PHP
php实现redis数据库指定库号迁移的方法
Jan 14 PHP
php不使用copy()函数复制文件的方法
Mar 13 PHP
PHP SPL标准库之SplFixedArray使用实例
May 12 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
May 27 PHP
Laravel中注册Facades的步骤详解
Mar 16 PHP
PHP面试常用算法(推荐)
Jul 22 PHP
php及codeigniter使用session-cookie的方法(详解)
Apr 06 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 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
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
2013/06/25 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
PHP的反射机制实例详解
2017/03/29 PHP
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
javascript 节点排序 2
2011/01/31 Javascript
Jquery阻止事件冒泡 event.stopPropagation
2011/12/11 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
学习 NodeJS 第八天:Socket 通讯实例
2016/12/21 NodeJs
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
js 实现复选框只能选择一项的示例代码
2018/01/23 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
详解Vue 换肤方案验证
2019/08/28 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
python获取本机mac地址和ip地址的方法
2015/04/29 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
Django项目中用JS实现加载子页面并传值的方法
2018/05/28 Python
python 抓包保存为pcap文件并解析的实例
2019/07/23 Python
使用python实现滑动验证码功能
2019/08/05 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
Python中bisect的用法及示例详解
2020/07/20 Python
在PyCharm中安装PaddlePaddle的方法
2021/02/05 Python
锐步美国官方网站:Reebok美国
2018/01/10 全球购物
飞利浦美国官网:Philips美国
2020/02/28 全球购物
监理员的岗位职责
2013/11/13 职场文书
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
暂住证证明
2015/06/19 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
python实现监听键盘
2021/04/26 Python