[PHP]写个简单的分页静态接口用宝塔部署到Nginx

使用get方式传入page和pageSize参数,接口根据参数进行分页处理。

1.创建一个 PHP 文件

例如 city.php,用于定义接口和返回 JSON 数据。

2.在 city.php 文件中编写接口

<?php

// 设置响应内容为 JSON 格式
header('Content-Type: application/json');

// 获取传入的参数
$page = isset($_GET['page']) ? intval($_GET['page']) : 1; // 当前页码,默认为第一页
$pageSize = isset($_GET['pageSize']) ? intval($_GET['pageSize']) : 10; // 每页数据条数,默认为 10

// 模拟一个数据列表
$dataList = [];
for ($i = 1; $i <= 110; $i++) {
    $city = [
        'id' => $i,
        'name' => 'City ' . $i,
        'code' => 'CODE' . $i
    ];
    array_push($dataList, $city);
}

// 计算总数据条数和总页数
$totalItems = count($dataList);
$totalPages = ceil($totalItems / $pageSize);

// 对页码进行有效性检查
$page = max(min($page, $totalPages), 1);

// 计算当前页的数据起止索引
$startIndex = ($page - 1) * $pageSize;
$endIndex = min($startIndex + $pageSize - 1, $totalItems - 1);

// 提取当前页的数据
$pagedData = array_slice($dataList, $startIndex, $pageSize);

// 构建要返回的数据
$response = [
    'page' => $page,
    'pageSize' => $pageSize,
    'totalPages' => $totalPages,
    'totalItems' => $totalItems,
    'data' => array_map(function ($item) {
        return $item;
    }, $pagedData)
];

// 将数据转换为 JSON 字符串
$json = json_encode($response);

// 输出 JSON 字符串
echo $json;

3.访问接口

1).在本机访问接口

2).在外网使用域名访问

将city.php复制到ECS服务器配置的站点中

购买ECS用宝塔部署LNMP可以看另一篇建站流程

猜你喜欢

转载自blog.csdn.net/u012881779/article/details/134453039