以下是一个用 PHP 和 HTML 编写的网站状态实时监控页面,可以监控 30 天内网站是否可以正常访问,并生成数据报表。

<?php
// 数据库连接配置
$servername = 'localhost';
$username = 'root';
$password = '';
$dbname = 'website_monitor';

// 创建数据库连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查数据库连接是否成功
if ($conn->connect_error) {
    die('数据库连接失败: ' . $conn->connect_error);
}

// 创建数据表
$sql = 'CREATE TABLE IF NOT EXISTS website_status (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    status INT(1) NOT NULL,
    date_added TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)';

if ($conn->query($sql) === FALSE) {
    echo '创建数据表失败: ' . $conn->error;
}

// 获取 30 天内的网站状态数据
$sql = 'SELECT * FROM website_status WHERE date_added >= NOW() - INTERVAL 30 DAY ORDER BY date_added DESC';
$result = $conn->query($sql);

// 生成数据报表
$dataPoints = array();
while($row = $result->fetch_assoc()) {
    $dataPoints[] = array('x' => strtotime($row['date_added']) * 1000, 'y' => $row['status']);
}

$conn->close();
?>

<!DOCTYPE html>
<html>
<head>
    <script src='https://cdn.jsdelivr.net/npm/apexcharts@latest'></script>
</head>
<body>
    <div id='chart'></div>

    <script>
        var options = {
            series: [{
                name: '网站状态',
                data: <?php echo json_encode($dataPoints, JSON_NUMERIC_CHECK); ?>
            }],
            chart: {
                type: 'line',
                height: 350
            },
            xaxis: {
                type: 'datetime'
            },
            yaxis: {
                min: 0,
                max: 1,
                labels: {
                    formatter: function (value) {
                        return value === 1 ? '正常' : '异常';
                    }
                }
            }
        };

        var chart = new ApexCharts(document.querySelector('#chart'), options);
        chart.render();
    </script>
</body>
</html>

请确保已经创建了一个名为website_monitor的 MySQL 数据库,并替换代码中的数据库连接配置。此代码将创建一个名为website_status的数据表,用于存储网站状态数据。数据表中的status字段表示网站的状态,0 表示异常,1 表示正常。代码将在页面上绘制一个折线图,显示网站状态在过去 30 天内的变化情况。

注意:为了使代码能够正常运行,你必须引入 ApexCharts 库,可以通过在<head>标签中添加<script src='https://cdn.jsdelivr.net/npm/apexcharts@latest'></script>来实现。

PHP+HTML 网站状态实时监控页面 - 30天访问数据报表

原文地址: https://www.cveoy.top/t/topic/qm19 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录