我想在PHP(Codeingiter)中获取访问者的操作系统。我试过https://github.com/serbanghita/Mobile-Detect。它在70%的时间内为我工作。但它仍然没有准确检测。移动设备或平板电脑未检测到大量Android流量。在PHP中确定访问者的操作系统
回答
没有准确的方法通过php或任何其他服务器语言检测操作系统。
这种检测通常依赖于浏览器代理,但它可能是假的,大部分时间都没有足够的信息。
我做了1个实验。我把goo.gl网址,而不是我原来的网址。然后,我可以看到他们正在完美地跟踪操作系统,而无需使用Javascript –
我根据设备类型将访问者重定向到外部网站。这些网站也检测到这些设备类型为移动,而没有JavaScript代码。 –
您必须添加检查如iPad和其他人,我错过了其他设备......
$hua = filter_input(INPUT_SERVER, 'HTTP_USER_AGENT');
$os = 'I have no idea...';
if(preg_match('/android/i', $hua)) {
$os = 'Android';
} elseif (preg_match('/linux/i', $hua)) {
$os = 'Linux';
} elseif (preg_match('/iphone/i', $hua)) {
$os = 'iPhone';
} elseif (preg_match('/macintosh|mac os x/i', $hua)) {
$os = 'Mac';
} elseif (preg_match('/windows|win32/i', $hua)) {
$os = 'Windows';
}
echo $os;
亲爱的朋友,我之前和之后都用同样的方式来到图书馆。查看UA https://github.com/serbanghita/Mobile-Detect/issues/662。这一个是指Android操作系统。 –
它不可能通过.htaccess来完成。我必须通过php页面本身重定向它们。由于重定向网址是动态的 –
用户代理类库CI中提供的功能来进行你的任务。 您可以在这里找到更多关于它们的详细信息: User Agent Class Library
具体查找platform()函数来检测访问者的操作系统。
我在代码中使用了相同的...仍然通过传递......此外,这个库不是100%可信赖的。我可以看到这个图书馆没有正确地检测到bot流量。 –
- 1. 如何从Lua脚本中确定系统的操作系统?
- 2. 准确确定PHP运行的操作系统类型
- 3. 从CAPL访问操作系统功能
- 4. 确定客户端操作系统在PHP
- 5. 通过Silverlight确定操作系统
- 6. 确定操作系统是否为Mac
- 7. 确定从32位操作系统或64位操作系统C/C++应用
- 8. 如何在apache上获取访问者浏览器类型和操作系统
- 9. 确定系统(),pasthrus(),exec()操作在php中执行的时间长度
- 10. 如何在Windows操作系统中访问Undeletable目录/文件?
- 11. 预定义为iPhone操作系统和Mac操作系统
- 12. 确定是否在MATLAB中运行x64或x86操作系统
- 13. 从VMWare中的客户操作系统访问主机IIS
- 14. 如何确定操作系统是否为C中的POSIX?
- 15. 确定Windows 7中操作系统的默认语言?
- 16. 操作系统
- 17. 在64位操作系统上访问Registry.LocalMachine
- 18. 如何基于PHP中的操作系统重定向?
- 19. 文件系统操作确实“刷新”
- 20. 在编译期间确定操作系统
- 21. 操作系统6上的RadioButtonGroup问题
- 22. 无法访问操作系统的更改日期
- 23. 以可访问模式运行的Windows操作系统?
- 24. 用于访问稀疏文件的操作系统API?
- 25. 如何访问操作系统拷贝的变量
- 26. 如何在窗口操作系统中使用安装在linux操作系统上的PHP接口?
- 27. 有了root访问权限,我该如何访问操作系统级别的通知系统?
- 28. php yii2的访问日志系统?
- 29. 在没有操作系统的嵌入式系统中的malloc
- 30. 检查访客在ColdFusion中的操作系统
使用PHP或JavaScript,您可以看到访问者的用户代理。在PHP中,您可以执行以下操作:$ _SERVER ['HTTP_USER_AGENT']。 –
我试过一个图书馆也是这样做的。但没有得到... –