function page_more($urlrule, $currpage, $pages) {
$setpages = 8; // 要显示的页数 $offset = ceil ( $setpages / 2 - 1 ); // 偏移量 $from = $currpage - $offset; // 当前页-偏移量 $to = $currpage + $offset; // 当前页+偏移量 $multipage = ''; // 分页代码 $more = ''; // 末尾更多符号+最后页 $lastpage = '.. ' . $pages . ' '; // 最后页代码 if ($setpages >= $pages) { // 如果要显示的页数大于等于总页数,直接从1显示到最后页 $from = 1;
$to = &$pages;
} else { // 设置的页数小于总页数时,另外做判断 if ($currpage >= $setpages) { // 当前页大于设置的页数 $multipage .= '1 .. ';
if ($to < $pages) {
$more = &$lastpage;
} else {
$from = $pages - $setpages + 1;
$to = &$pages;
}
} else { // 当前页小于设置的页数,显示从1开始到设置的页数 $from = 1;
$to = &$setpages;
$more = &$lastpage;
}
}
for($from; $from <= $to; $from ++) {
if ($from != $currpage) {
$multipage .= '' . $from . ' ';
} else {
$multipage .= '' . $from . ' ';
}
}
return $multipage . $more;
}