PHP代码判断设备是手机还是平板电脑(两种方法)
现在移动互联网越来越发达,很多的网站都普及了手机端浏览,为了更好的让网页在手机端显示,我们都选择了使用CSS媒体查询制作响应式模版,但这也有弊端,例如某些网站的结构是CMS类型的,太多的内容要显示,而使用CSS媒体查询设计响应式,只会隐藏但还是加载了,为了让手机端更快速的显示出内容,我们可以使用这个PHP判断手机设备代码,使用这个代码可以很方便的显示或不显示自定义的内容。
在做WEB开发的时候经常会需要用到对移动设备的页面匹配,当然可以直接把网站做成响应式的,但如果不想这么做的话,可以使用PHP对设备类型进行判断,然后显示相应的界面和内容。今天分享一种使用PHP判断设备是否是手机/平板的方法,方法来源于WordPress(wp-includes/vars.php:125),适用于大部分类型的手机/平板判断:
方法一:
/**
*Testifthecurrentbrowserrunsonamobiledevice(smartphone,tablet,etc.)
*
*@staticvarbool$is_mobile
*
*@returnbool
*/
functionwp_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//manymobiledevices(alliPhone,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'],'OperaMini')!==false
||strpos($_SERVER['HTTP_USER_AGENT'],'OperaMobi')!==false){
$is_mobile=true;
}else{
$is_mobile=false;
}
return$is_mobile;
}
代码二:
这是PHP判断手机设备函数代码,复制到PHP函数库中调用:
<?php
functionis_mobile(){
$user_agent=$_SERVER['HTTP_USER_AGENT'];
$mobile_browser=Array(
"mqqbrowser",//手机QQ浏览器
"operamobi",//手机opera
"juc","iuc",//uc浏览器
"fennec","ios","applewebKit/420","applewebkit/525","applewebkit/532","ipad","iphone","ipaq","ipod",
"iemobile","windowsce",//windowsphone
"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_browseras$device){
if(stristr($user_agent,$device)){
$is_mobile=true;
break;
}
}
return$is_mobile;
}?>
这是调用代码,可以加上if判断:
<?phpif(is_mobile()):?>
设置手机端的内容
<?phpendif;?>
以上所述就是本文的全部内容,希望大家喜欢。