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 相关文章推荐
PHP Squid中可缓存的动态网页设计
Sep 17 PHP
php is_file 判断给定文件名是否为一个正常的文件
May 10 PHP
php源代码安装常见错误与解决办法分享
May 28 PHP
PHP设计模式之责任链模式的深入解析
Jun 13 PHP
php 判断字符串中是否包含html标签
Feb 17 PHP
Smarty变量调节器失效的解决办法
Aug 20 PHP
10个值得深思的PHP面试题
Nov 14 PHP
PHP实现上传多图即时显示与即时删除的方法
May 09 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
Jun 03 PHP
PHP常用函数之获取汉字首字母功能示例
Oct 21 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
Jul 19 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绘制圆形的方法
2015/01/24 PHP
ThinkPHP函数详解之M方法和R方法
2015/09/10 PHP
php session的应用详细介绍
2017/03/22 PHP
css图片自适应大小
2007/11/28 Javascript
JS常用正则表达式总结
2013/11/12 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
jQuery日历插件datepicker用法详解
2016/03/03 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
2016/05/28 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
vue-cli中使用高德地图的方法示例
2019/03/28 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
[01:29]2017 DOTA2国际邀请赛官方英雄手办展示
2017/03/18 DOTA
Python中获取网页状态码的两个方法
2014/11/03 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
python语言元素知识点详解
2019/05/15 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
如何用python批量调整视频声音
2020/12/22 Python
Brookstone美国官网:独特新奇产品
2017/03/04 全球购物
网络工程系信息安全技术专业大学生求职信
2013/10/22 职场文书
项目经理岗位职责
2013/11/11 职场文书
行政部主管岗位职责
2013/12/28 职场文书
旅游网创业计划书
2014/01/31 职场文书
年度献血先进个人事迹材料
2014/02/14 职场文书
节约用水倡议书
2014/04/16 职场文书
资源环境与城乡规划管理专业自荐书
2014/09/26 职场文书
2016道德模范先进事迹材料
2016/02/26 职场文书