我们正在制作一个包含以下目录的页面组合:
sectionInfo
我们希望在每个页面上构建“下一个”和“上一个”链接,人们可以在其中导航到目录中的下一页或上一页。有什么想法吗?
我认为目录中的第一个和最后一个文件可能会出现唯一的小问题。所以我想如果目录中实际存在下一个/上一个文件,那么必须有某种“if语句”来构建下一个/上一个链接。或者,更好的是,它会无限循环....例如,如果你在目录中的最后一个文件,而“下一个”链接只是转到第一个文件。
答案 0 :(得分:0)
有这个功能scandir()
。这将获取数组中目录中的所有文件。因此,您可以循环浏览或选择下一个文件。
Documentation:
http://php.net/manual/en/function.scandir.php
答案 1 :(得分:0)
使用glob函数查找目录中的所有php文件,并将其保存到数组中。 2.接下来,通过当前文件的名称,在文件数组中找到其索引,并加1以获取下一个文件的名称。
$page = dirname(__FILE__) . '/portfolio'.$_SERVER['REQUEST_URI'].'.php';
$files = glob(dirname(__FILE__) . '/portfolio/*.php');
$currentIdx = array_search($page, $files);
$nextIdx = $currentIdx + 1;
if (isset($files[$nextIdx])) {
$nextFile = $files[$nextIdx];
$next = pathinfo($nextFile,PATHINFO_FILENAME);
echo 'Next file: <a href="'.$next.'">'.$next.'</a>';
} else {
echo "No next file";
}
先前类似:
$page = dirname(__FILE__) . '/portfolio'.$_SERVER['REQUEST_URI'].'.php';
$files = glob(dirname(__FILE__) . '/portfolio/*.php');
$currentIdx = array_search($page, $files);
$prevIdx = $currentIdx - 1;
if (isset($files[$prevIdx])) {
$prevFile = $files[$prevIdx];
$prev = pathinfo($prevFile,PATHINFO_FILENAME);
echo 'Previous file: <a href="'.$prev.'">'.$prev.'</a>';
} else {
echo "No previous file";
}