- 发表时间: 2025-02-10
- 浏览次数: 2355
1. 统计访问IP地址
要统计访问IP地址,你可以直接从$_SERVER超全局变量中获取REMOTE_ADDR。
$ip = $_SERVER['REMOTE_ADDR'];
echo "访问者的IP地址是: " . $ip;
2. 检测和记录手机型号
检测用户设备型号通常涉及到检测HTTP请求中的User-Agent头部信息,然后根据这个信息推断出设备类型和可能的型号。
使用User-Agent来识别设备
可以使用PHP的get_browser()函数(需要安装并配置php.ini中的browscap.ini文件)或者使用第三方库如Mobile_Detect库来识别设备。
示例1: 使用get_browser()函数(需要browscap.ini)
首先,确保你的php.ini文件中启用了browscap并指向了正确的browscap.ini文件。
// 获取浏览器信息
$browser = get_browser(null, true);
if ($browser) {
echo "访问者的浏览器是: " . $browser['browser'] . "<br>";
echo "访问者的平台是: " . $browser['platform'] . "<br>";
} else {
echo "无法获取浏览器信息";
}
示例2: 使用Mobile_Detect库
首先,通过Composer安装Mobile_Detect库:
composer require mobiledetect/mobiledetectlib
然后,使用Mobile_Detect来检测设备:
require_once 'vendor/autoload.php'; // 引入Composer的自动加载文件
$detect = new Mobile_Detect;
$deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer');
$mobileInfo = $detect->getMobileGrade(); // 获取手机型号信息,如果有的话
echo "访问者的设备类型是: " . $deviceType . "<br>";
if ($mobileInfo) {
echo "访问者的手机型号可能是: " . $mobileInfo;
} else {
echo "无法确定具体的手机型号";
}
3. 记录到数据库或日志文件
为了长期跟踪和分析,你可以将IP地址和设备信息记录到数据库或日志文件中。例如,使用PDO或MySQLi将数据存储到MySQL数据库中:
$ip = $_SERVER['REMOTE_ADDR'];
$deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer');
$mobileInfo = $detect->getMobileGrade(); // 获取手机型号信息,如果有的话
// 数据库连接示例(使用PDO)
$dsn = 'mysql:host=your_host;dbname=your_db;charset=utf8';
$username = 'your_username';
$password = 'your_password';
$options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];
try {
$pdo = new PDO($dsn, $username, $password, $options);
$stmt = $pdo->prepare("INSERT INTO access_logs (ip, device_type, mobile_info) VALUES (?, ?, ?)");
$stmt->execute([$ip, $deviceType, $mobileInfo]);
} catch (PDOException $e) {
echo "数据库连接失败: " . $e->getMessage();
}
确保你的数据库表结构能够存储这些信息(例如,access_logs表包含ip, device_type, mobile_info等字段)。这样,你就可以随时查询和分析访问数据了。