PHP代码如何获取浏览器信息数据_PHP获取UserAgent与设备信息

看不見的法師
发布: 2025-11-06 13:14:02
原创
797人浏览过
通过解析UserAgent字符串可获取用户浏览器和设备信息,PHP中使用$_SERVER['HTTP_USER_AGENT']获取该字符串,再通过字符串判断或正则提取浏览器、操作系统类型,并识别是否为移动设备;推荐使用Mobile Detect等第三方库进行准确解析,适用于统计分析与界面适配,但不可用于安全验证。

php代码如何获取浏览器信息数据_php获取useragent与设备信息

要获取浏览器和设备信息,在PHP中主要通过解析HTTP请求头中的 UserAgent 字符串来实现。UserAgent 包含了访问者使用的浏览器、操作系统、设备类型等基本信息。下面介绍如何在PHP中获取并解析这些数据。

获取UserAgent字符串

在PHP中,可以通过 $_SERVER['HTTP_USER_AGENT'] 获取客户端发送的UserAgent信息:

$userAgent = $_SERVER['HTTP_USER_AGENT'] ?? 'Unknown';
echo $userAgent;
登录后复制

示例输出可能如下:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36

解析浏览器与操作系统信息

通过简单的字符串判断或正则表达式,可以提取出关键信息:

立即学习PHP免费学习笔记(深入)”;

1. 判断浏览器类型:

if (strpos($userAgent, 'Chrome') !== false && strpos($userAgent, 'Edg') === false) {
    $browser = 'Chrome';
} elseif (strpos($userAgent, 'Firefox') !== false) {
    $browser = 'Firefox';
} elseif (strpos($userAgent, 'Safari') !== false && strpos($userAgent, 'Chrome') === false) {
    $browser = 'Safari';
} elseif (strpos($userAgent, 'Edge') !== false) {
    $browser = 'Edge';
} else {
    $browser = 'Other';
}
登录后复制

2. 判断操作系统:

if (strpos($userAgent, 'Windows') !== false) {
    $os = 'Windows';
} elseif (strpos($userAgent, 'Mac') !== false) {
    $os = 'macOS';
} elseif (strpos($userAgent, 'Linux') !== false) {
    $os = 'Linux';
} elseif (strpos($userAgent, 'Android') !== false) {
    $os = 'Android';
} elseif (strpos($userAgent, 'iPhone') !== false || strpos($userAgent, 'iPad') !== false) {
    $os = 'iOS';
} else {
    $os = 'Unknown';
}
登录后复制

识别移动设备

判断是否为移动端访问,有助于做响应式或跳转适配:

微信 WeLM
微信 WeLM

WeLM不是一个直接的对话机器人,而是一个补全用户输入信息的生成模型。

微信 WeLM 33
查看详情 微信 WeLM
$isMobile = false;
$mobileKeywords = ['Mobile', 'Android', 'iPhone', 'iPad', 'BlackBerry', 'Windows Phone'];
foreach ($mobileKeywords as $keyword) {
    if (stripos($userAgent, $keyword) !== false) {
        $isMobile = true;
        break;
    }
}
登录后复制

如果 $isMobile 为 true,则用户正在使用移动设备访问。

使用第三方库(推荐)

手动解析UserAgent容易遗漏边缘情况,推荐使用成熟库如 Mobile DetectDonatj/UserAgentParser

安装 Mobile Detect(Composer):

composer require mobiledetect/mobiledetectlib
登录后复制

使用示例:

require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;

if ($detect->isMobile()) {
    echo "这是移动设备";
}
if ($detect->isTablet()) {
    echo "这是平板";
}
echo "浏览器: " . $detect->browser();
echo "操作系统: " . $detect->mobileGrade();
登录后复制

该类库自动处理各种UA格式,支持主流设备和浏览器,维护更新及时,适合生产环境使用。

基本上就这些。通过解析UserAgent,你可以掌握用户的基本访问环境。注意:UserAgent 可被伪造,不适合用于安全验证,但用于统计分析或界面适配非常实用。

以上就是PHP代码如何获取浏览器信息数据_PHP获取UserAgent与设备信息的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号