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开发入门教程之面向对象
Dec 05 PHP
常用表单验证类,有了这个,一般的验证就都齐了。
Dec 06 PHP
php中mysql模块部分功能的简单封装
Sep 30 PHP
供参考的 php 学习提高路线分享
Oct 23 PHP
浅析php插件 HTMLPurifier HTML解析器
Jul 01 PHP
PHP统一页面编码避免乱码问题
Apr 09 PHP
6个超实用的PHP代码片段
Aug 10 PHP
php mysqli查询语句返回值类型实例分析
Jun 29 PHP
PHP微信开发用Cache 解决数据缓存
Jul 11 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
Feb 10 PHP
PDO::errorInfo讲解
Jan 28 PHP
PHP后台备份MySQL数据库的源码实例
Mar 18 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
德劲1103二次变频版的打磨
2021/03/02 无线电
php 对输入信息的进行安全过滤的函数代码
2012/06/29 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
2014/11/01 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
setTimeout和setInterval的区别你真的了解吗?
2011/03/31 Javascript
jquery 年会抽奖程序
2011/12/22 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
2015/10/25 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
sencha ext js 6 快速入门(必看)
2016/06/01 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
使用vue构建一个上传图片表单
2017/07/04 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
JS/CSS实现字符串单词首字母大写功能
2019/09/03 Javascript
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
聊聊Python中的pypy
2018/01/12 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
pygame实现飞机大战
2020/03/11 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
Python发送邮件实现基础解析
2020/08/14 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
实习生的自我鉴定范文欣赏
2013/11/20 职场文书
历史专业个人求职信分享
2013/12/20 职场文书
2014年师德师风自我剖析材料
2014/09/27 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
Python获取百度热搜的完整代码
2021/04/07 Python
微信小程序实现轮播图指示器
2022/06/25 Javascript