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;?>
以上所述就是本文的全部内容,希望大家喜欢。