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函数)
Oct 09 PHP
如何使用脚本模仿登陆过程
Nov 22 PHP
解析php5配置使用pdo
Jul 03 PHP
浅析php学习的路线图
Jul 10 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
Apr 21 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
Aug 21 PHP
Laravel 5框架学习之Laravel入门和新建项目
Apr 07 PHP
PHP中的多种加密技术及代码示例解析
Oct 20 PHP
phpcms中的评论样式修改方法
Oct 21 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
php 删除一维数组中某一个值元素的操作方法
Feb 01 PHP
PHP whois查询类定义与用法示例
Apr 03 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
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
PHP如何防止用户重复提交表单
2020/12/09 PHP
javascript 图片上传预览-兼容标准
2009/06/01 Javascript
JS小框架 fly javascript framework
2009/11/26 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
javascript实现搜索筛选功能实例代码
2020/11/12 Javascript
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
Python设计模式之单例模式实例
2014/04/26 Python
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
Python读取图片属性信息的实现方法
2016/09/11 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
绝对经典成功的大学生推荐信
2013/11/08 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
医院标语大全
2014/06/23 职场文书
写字楼租赁意向书
2014/07/30 职场文书
大学生赌博检讨书
2014/09/22 职场文书
安全先进班组材料
2014/12/26 职场文书
运动会开幕词
2015/01/28 职场文书
浪漫的婚礼主持词
2015/06/30 职场文书
python实现简单的井字棋
2021/05/26 Python
解析MySQL binlog
2021/06/11 MySQL
java实现web实时消息推送的七种方案
2022/07/23 Java/Android