摘要: 在 PHP 中查看客户端 UA 标识的方式是读取系统常量 $_SERVER 中的 HTTP_USER_AGENT 选项:1echo $_SERVER['HTTP_...
在 PHP 中查看客户端 UA 标识的方式是读取系统常量 $_SERVER 中的 HTTP_USER_AGENT 选项:
1 | echo $_SERVER [ 'HTTP_USER_AGENT' ]; |
使用
推荐一个轻松识别客户端信息的composer组件jenssegers/agent,虽然这个扩展官方为laravel框架开发。由于TP5支持composer依赖管理,亲测可用。
源码地址: https://github.com/jenssegers/agent
安装
使用 composer 安装:
1 | composer require jenssegers/agent |
基础用法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 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 ); |