PHP代码判断设备是手机还是平板电脑(两种方法)


Posted in PHP onOctober 19, 2015

现在移动互联网越来越发达,很多的网站都普及了手机端浏览,为了更好的让网页在手机端显示,我们都选择了使用CSS媒体查询制作响应式模版,但这也有弊端,例如某些网站的结构是CMS类型的,太多的内容要显示,而使用CSS媒体查询设计响应式,只会隐藏但还是加载了,为了让手机端更快速的显示出内容,我们可以使用这个PHP判断手机设备代码,使用这个代码可以很方便的显示或不显示自定义的内容。

在做WEB开发的时候经常会需要用到对移动设备的页面匹配,当然可以直接把网站做成响应式的,但如果不想这么做的话,可以使用PHP对设备类型进行判断, 然后显示相应的界面和内容。今天分享一种使用 PHP 判断设备是否是手机/平板的方法,方法来源于WordPress(wp-includes/vars.php:125),适用于大部分类型的手机/平板判 断:

方法一:

/**
 * Test if the current browser runs on a mobile device (smart phone, tablet, etc.)
 *
 * @staticvar bool $is_mobile
 *
 * @return bool
 */
function wp_is_mobile() {
 static $is_mobile = null;
 
 if ( isset( $is_mobile ) ) {
  return $is_mobile;
 }
 
 if ( empty($_SERVER['HTTP_USER_AGENT']) ) {
  $is_mobile = false;
 } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.)
  || strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false
  || strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false
  || strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false
  || strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false
  || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false
  || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false ) {
   $is_mobile = true;
 } else {
  $is_mobile = false;
 }
 
 return $is_mobile;
}

代码二:

这是PHP判断手机设备函数代码,复制到PHP函数库中调用:

<?php
function is_mobile() {
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$mobile_browser = Array(
"mqqbrowser", //手机QQ浏览器
"opera mobi", //手机opera
"juc","iuc",//uc浏览器
"fennec","ios","applewebKit/420","applewebkit/525","applewebkit/532","ipad","iphone","ipaq","ipod",
"iemobile", "windows ce",//windows phone
"240×320","480×640","acer","android","anywhereyougo.com","asus","audio","blackberry","blazer","coolpad" ,"dopod", "etouch", "hitachi","htc","huawei", "jbrowser", "lenovo","lg","lg-","lge-","lge", "mobi","moto","nokia","phone","samsung","sony","symbian","tablet","tianyu","wap","xda","xde","zte"
);
$is_mobile = false;
foreach ($mobile_browser as $device) {
if (stristr($user_agent, $device)) {
$is_mobile = true;
break;
}
}
return $is_mobile;
}?>

这是调用代码,可以加上if判断:

<?php if(is_mobile()):?>

设置手机端的内容

<?php endif; ?>

以上所述就是本文的全部内容,希望大家喜欢。

PHP 相关文章推荐
我的论坛源代码(十)
Oct 09 PHP
用php和MySql来与ODBC数据连接
Oct 09 PHP
php adodb连接带密码access数据库实例,测试成功
May 14 PHP
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
用php来改写404错误页让你的页面更友好
Jan 24 PHP
解析如何用php screw加密php源代码
Jun 20 PHP
PHP判断上传文件类型的解决办法
Oct 20 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
php curl批处理实现可控并发异步操作示例
May 09 PHP
thinkPHP框架整合tcpdf插件操作示例
Aug 07 PHP
thinkPHP5框架分页样式类完整示例
Sep 01 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
Oct 15 PHP
基于PHP实现假装商品限时抢购繁忙的效果
Oct 16 #PHP
php如何连接sql server
Oct 16 #PHP
Apache启动报错No space left on device: AH00023该怎么解决
Oct 16 #PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
Oct 16 #PHP
全面解读PHP的人气开发框架Laravel
Oct 15 #PHP
php示例详解Constructor Prototype Pattern 原型模式
Oct 15 #PHP
PHP经典面试题之设计模式(经常遇到)
Oct 15 #PHP
You might like
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
php5.5中类级别的常量使用介绍
2013/10/02 PHP
PHP面向对象程序设计类的定义与用法简单示例
2016/12/27 PHP
PHP实现的简单适配器模式示例
2017/06/22 PHP
javascript与CSS复习(三)
2010/06/29 Javascript
编写可维护面向对象的JavaScript代码[翻译]
2011/02/12 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
jquery文档操作wrap()方法实例简述
2015/01/10 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
尝试动手制作javascript放大镜效果
2015/12/25 Javascript
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
vue v-model的用法解析
2020/10/19 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
2020/12/03 Vue.js
python通过colorama模块在控制台输出彩色文字的方法
2015/03/19 Python
Python计算两个日期相差天数的方法示例
2017/05/23 Python
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
python 垃圾收集机制的实例详解
2017/08/20 Python
python中实现精确的浮点数运算详解
2017/11/02 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
python3中的md5加密实例
2018/05/29 Python
python 中字典嵌套列表的方法
2018/07/03 Python
Python根据当前日期取去年同星期日期
2019/04/14 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
英国探险旅游专家:Explore
2018/12/20 全球购物
化石印度尼西亚在线商店:Fossil Indonesia
2019/03/11 全球购物
电影建党伟业观后感
2015/06/01 职场文书
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python