[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可以看另一篇建站流程