使用 PHP 内置函数 get_browser() 判断是否是移动浏览器
get_browser — 获取浏览器具有的功能。该函数通过查找 browscap.ini 文件中的浏览器信息,尝试检测用户的浏览器所具有的功能。
由于许可证的问题,PHP 未提供浏览器功能文件,可以从 Browscap 得到浏览器功能文件,可以在 http://browscap.org/ 下载 php_browscap.ini 文件。
下载之后,需要在 php.ini 中设置(Win 下):
browscap=D:\wamp\bin\php\php5.5.12\browscap.ini
或者(Linux 下)
browscap=/usr/local/php/lib/php/browscap.ini
此时可以在 php 文件中打印出 get_browser()
var_dump(get_browser());
输出:
object(stdClass)#1 (15) { ["browser_name_regex"]=> string(101) "~^mozilla/5\.0 \(.*windows nt 10\.0.*\) applewebkit/.* \(khtml, like gecko\) chrome/49\..*safari/.*$~" ["browser_name_pattern"]=> string(85) "Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML, like Gecko) Chrome/49.*Safari/*" ["parent"]=> string(11) "Chrome 49.0" ["platform"]=> string(5) "Win10" ["comment"]=> string(11) "Chrome 49.0" ["browser"]=> string(6) "Chrome" ["browser_maker"]=> string(10) "Google Inc" ["version"]=> string(4) "49.0" ["majorver"]=> string(2) "49" ["device_type"]=> string(7) "Desktop" ["device_pointing_method"]=> string(5) "mouse" ["minorver"]=> string(1) "0" ["ismobiledevice"]=> string(0) "" ["istablet"]=> string(0) "" ["crawler"]=> string(0) "" }
可以通过以下代码来判断是否是移动端浏览器:
<?php $ismobiledevice = get_browser()->ismobiledevice; if($ismobiledevice) { //移动端设备 } else { //PC端 }
参考:
<PHP Cookbook>,3rd