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 静态页面中显示动态内容
Aug 14 PHP
PHP中文URL编解码(urlencode()rawurlencode()
Jul 03 PHP
php 地区分类排序算法
Jul 01 PHP
PHP常用函数和常见疑难问题解答
Mar 05 PHP
php实现在服务器上创建目录的方法
Mar 16 PHP
PHP实现获取客户端IP并获取IP信息
Mar 17 PHP
php简单实现无限分类树形列表的方法
Mar 27 PHP
php实现的http请求封装示例
Nov 08 PHP
php+Memcached实现简单留言板功能示例
Feb 15 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 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
超神学院:天使彦公认最美的三个视角,网友:我的天使快下凡吧!
2020/03/02 国漫
坏狼php学习 计数器实例代码
2008/06/15 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
2010/07/22 PHP
检测png图片是否完整的php代码
2010/09/06 PHP
Zend Framework中的简单工厂模式 图文
2012/07/10 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
Javascript定义类(class)的三种方法详解
2015/03/13 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
JS实现新建文件夹功能
2017/06/17 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
Vue动态加载异步组件的方法
2018/11/21 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
使用pkg打包ThinkJS项目的方法步骤
2019/12/30 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
[02:50]【扭转乾坤,只此一招】DOTA2全新版本永雾林渊开启新篇章
2020/12/24 DOTA
python使用Turtle库绘制动态钟表
2018/11/19 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
悦木之源美国官网:Origins美国
2016/08/01 全球购物
美特斯邦威官方商城:邦购网
2016/10/13 全球购物
Hotels.com日本:国外和海外住宿,酒店预订
2019/12/13 全球购物
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
销售主管的自我评价分享
2014/01/03 职场文书
社团成立邀请函
2014/01/08 职场文书
2015秋季小学开学寄语
2015/05/27 职场文书
初中班干部工作总结
2015/08/10 职场文书
什么是SOLID
2022/03/24 Javascript