一切
正常,但"上一个"和"下一个"链接不起作用。单击"上一个"或"下一个"后,页面加载,但没有显示最近或旧的图像。该链接引用了"php?page=-1"用于上一个"php?page=1"和下一个,但就像我说的,新图像或旧图像仅显示第一个"20"和其他第一个$record_count
<?php
$dir = ".";
opendir($dir);
$file = ('uploaded/');
$files = glob("uploaded/*.*");
usort($files, function ($a, $b) {
return filemtime($b) - filemtime($a);
});
$record_count = **20**;
$totla_pages = ceil(count($files)/$record_count);
$home_script = $_SERVER['REQUEST_URI'];
if($_SERVER['REQUEST_URI'] == $home_script) {
$page = "";
}
$offset = ($page-1)*$record_count;
$files_filter = array_slice($files, $offset,$record_count);
foreach ($files_filter as $file) {
echo "<a href='$dir/$file'><img src='$file' style='height:180px;width:180px; border:2px solid black; margin:20px 0px 10px 10px; *margin:10px 0px 10px 20px;'></a>";
}
if($totla_pages > 1){
if($page != 1){
echo '<a href="?page='.($page-1).'">Prev</a>';
}
if($page != $totla_pages){
echo '<a href="?page='.($page+1).'">Next</a>';
}
}
?>
首先,您需要始终正确地初始化$page
变量,将其设置为整数。
为此,您可以检查是否发送了查询变量,如果没有,请将其设置为 1
:
// somewhere at the top of your script
if (empty($_GET['page']))
{
$page = 1;
}
else
{
$page = (int) $_GET['page'];
}
您还可以对$_GET['page']
进行更多检查,以确保它始终是一个大于 0 的数字。