使用 PHP 内置函数 get_browser() 判断是否是移动浏览器

get_browser — 获取浏览器具有的功能。该函数通过查找 browscap.ini 文件中的浏览器信息,尝试检测用户的浏览器所具有的功能。

由于许可证的问题,PHP 未提供浏览器功能文件,可以从 Browscap 得到浏览器功能文件,可以在 http://browscap.org/ 下载 php_browscap.ini 文件。

下载之后,需要在 php.ini 中设置(Win 下):

browscap=D:wampinphpphp5.5.12rowscap.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

原文地址:https://www.cnblogs.com/dee0912/p/5346991.html