美文网首页
ThinkPHP5轻松识别客户端信息User Agent

ThinkPHP5轻松识别客户端信息User Agent

作者: EliRy | 来源:发表于2018-01-17 17:48 被阅读0次

    说明

    在使用浏览器发起的 HTTP 请求中,通常会包含一个识别标识。它名为 User Agent,简称 UA。它是一串包含了客户端基础信息的字符串。通过它可以方便的获取客户端的操作系统,语言,浏览器和版本信息。

    在 PHP 中查看客户端 UA 标识的方式是读取系统常量 $_SERVER 中的 HTTP_USER_AGENT 选项:

    echo $_SERVER['HTTP_USER_AGENT'];

    使用

    推荐一个轻松识别客户端信息的composer组件jenssegers/agent,虽然这个扩展官方为laravel框架开发。由于TP5支持composer依赖管理,亲测可用。

    源码地址: https://github.com/jenssegers/agent

     安装

    使用 composer 安装:

    composer require jenssegers/agent

    基础用法:

    use Jenssegers\Agent\Agent;

    $agent = new Agent();

    //设置User Agent,比如在cli模式下用到

    $agent->setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2');

    $agent->setHttpHeaders($headers);

    //Is方法检测(如:操作系统)

    $agent->is('Windows');

    $agent->is('Firefox');

    $agent->is('iPhone');

    $agent->is('OS X');

    //魔法方法(如: 厂商产品定位)

    $agent->isAndroidOS();

    $agent->isNexus();

    $agent->isSafari();

    //识别移动设备

    $agent->isMobile();//手机

    $agent->isTablet();//平板

    $agent->isDesktop();//桌面端

    // 语言

    $languages = $agent->languages();

    // ['nl-nl', 'nl', 'en-us', 'en']

    // 是否是机器人

    $agent->isRobot();

    // 获取设备信息 (iPhone, Nexus, AsusTablet, ...)

    $agent->device();

    // 系统信息  (Ubuntu, Windows, OS X, ...)

    $agent->platform();

    // 浏览器信息  (Chrome, IE, Safari, Firefox, ...)

    $agent->browser();

    // 获取浏览器版本

    $browser = $agent->browser();

    $version = $agent->version($browser);

    // 获取系统版本

    $platform = $agent->platform();

    $version = $agent->version($platform);

    案例

    基于thinkphp5开源通用框架EacooPHP,模块化灵活扩展二次开发,开发API接口、微信、小程序开发等:

    QQ交流群:436491685

    框架官网:http://www.eacoo123.com

    相关文章

      网友评论

          本文标题:ThinkPHP5轻松识别客户端信息User Agent

          本文链接:https://www.haomeiwen.com/subject/mvaxcxtx.html