用于识别访客的浏览器详细信息和设备类型, 可识别具体品牌(利用的正则匹配映射),识别信息比 jenssegers 更加全面
参考文档:https://github.com/hisorange/browser-detect
支持 Laravel 的 PHP 桌面/移动用户代理解析器,基于 Mobile Detect,具有桌面支持和附加功能。
参考文档: https://github.com/jenssegers/agent
使用 composer 安装:
composer require jenssegers/agent
<?php
use Jenssegers\Agent\Agent;
$agent = new Agent();
// 操作系统
$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);
下面是一段微信扫一扫下载 App 的链接的逻辑
$android_download_link = 'http://7xim5a.com2.z0.glb.qiniucdn.com/app.apk';
$weichat_download_link = 'http://a.app.qq.com/o/simple.jsp?pkgname=com.app.indentifior';
$ios_download_link = 'https://itunes.apple.com/cn/app/kou-yu-jiao-er/app-id*?l=en&mt=8';
$download_link = '';
// 如果是移动端访问的话 (phones or tablets).
if ( $agent->isMobile() )
{
if( $agent->isiOS() )
{
$download_link = $ios_download_link;
// 微信访问
if (strpos($agent->getUserAgent(), 'MicroMessenger') !== false)
{
// echo "<h1>微信用户若不能安装, 请点击右上角的跳转按钮, 选择 \"在 Safari 中打开\" 即可正常跳转哦 ^_^ .</h1>";
// exit;
$download_link = $weichat_download_link;
}
}
if( $agent->isAndroidOS() )
{
$download_link = $android_download_link;
// 微信访问
if (strpos($agent->getUserAgent(), 'MicroMessenger') !== false)
{
// 使用应用宝可以访问
$download_link = $weichat_download_link;
}
}
}
View
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>处理中... </h1>
<script type="text/javascript">
window.onload=function(){
setTimeout("window.location.href='<?php echo $downloadlink; ?>'",1000);
}
</script>
</body>
</html>
[1]
Mobile Detect: https://github.com/serbanghita/Mobile-Detect