用户设备、UA检测 相关

用户设备、UA检测 相关

https://github.com/jenssegers/agent

//识别移动设备
//$agent->isMobile();//手机
//$agent->isTablet();//平板
//$agent->isDesktop();//桌面端

//获取设备信息
//$agent->device();

//操作系统信息
//$agent->platform();

//浏览器信息
//$agent->browser();



// 获取浏览器版本
//$browser = $agent->browser();
//$version = $agent->version($browser);
// 获取系统版本
//$platform = $agent->platform();
//$version = $agent->version($platform);

// https://github.com/jenssegers/agent
// http://www.thinkphp.cn/code/3991.html

设备标识。。。

device_id: 869072037059739,869072037359733
user-agent: Redmi Note 5(Android/8.1.0) (com.bo3158.bohua/1.0.0) Weex/0.26.0 1080x2030
device_id: 869072037059739,869072037359733

User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1
User-Agent: Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1
user-agent: Redmi Note 5(Android/8.1.0) (com.bo3158.bohua/1.0.0) Weex/0.26.0 1080x2030

参考: http://www.thinkphp.cn/code/3991.html

jenssegers/agent 的问题

本质上也是调用的是mobiledetect

$ua = 'iPhone9,1(iOS/12.4.1) Uninview(Uninview/1.0.0) Weex/0.26.0 640x1136';
$ua = 'iPhone10,3(iOS/12.1.4) Uninview(Uninview/1.0.0) Weex/0.26.0 1125x2436';
$ua = 'iPhone8,1(iOS/13.1.3) Uninview(Uninview/1.0.0) Weex/0.26.0 750x1334';

上面的ua就无法匹配出对应的系统,看了源码的正则配置如下:


'iPhone'        => 'iPhone|iPod'    

改成  'iPhone'=> 'iPhone|iPod'


 'iOS'               => 'iPhone.*Mobile|iPod|iPad|AppleCoreMedia',   

改成   ‘iOS’=> 'iPhone|iPod|iPad|AppleCoreMedia'


解决办法就是继承类,改造她娘的

http://mobiledetect.net/

https://github.com/serbanghita/Mobile-Detect/

原文地址:https://www.cnblogs.com/zqsb/p/11672173.html