php 文章内容分页并生成对应的htm静态文件实例
php 文章内容分页并生成对应的htm静态文件实例代码,一般主要用户长文件分页。
<?php
$url = 'test.php?1=1';
$contents = "fjka;fjsa;#page#批量生成分成文件并且加上分页代码";
$ptext = '#page#';
ContentsPages($url, $contents, $ptext)
/**
* 函数名:ContentsPages
* 功能:文章内容分页
* 参数:$url文章内容页URL 类型string,$contents文章内容页内容 类型string,$ptext分页标识 类型string
* 作者:七夜
* QQ:64438136 linus.php@gmail.com MSN:zhijian@live.com
*/
//文章数组
$arr = explode($ptext, $contents);
//数组长度&总页数
$total = count($arr);
//当前页
$nowpage = $_GET['pages'] ? $_GET['pages'] : 1;
//上页
$prepage = $nowpage == 1 ? 1 : $nowpage - 1;
//下页
$nextpage = $nowpage > $total - 1 ? $total : $nowpage + 1;
//最后一页
$lastpage = $total;
$pdiv = '<br /><div style=\"height:30px;width:500px;border:1px; blackground-color:#ff0000;\">';
$pdiv.= "第{$nowpage}页 / 总{$total}页 ";
//首页链接
$pdiv.= "<li style=\"display:inline;\"><a href=\"{$url}&pages=1\" style=\"text-decoration:none;\">首页</a></li>";
//上页链接
$pdiv.= "<li style=\"display:inline;\"><a href=\"{$url}&pages={$prepage}\" style=\"text-decoration:none;\"> 上一页 </a></li>";
//显示分页列表
$color = '';
for ($i = 1; $i <= $total; $i++) {
if ($i == $nowpage) {
$color = "color:#ff0000;";
} else {
$color = '';
}
$pdiv.= " <li style=\"display:inline;\"><a href=\"{$url}&pages={$i}\" style=\"text-decoration:none;\"><span style=\"{$color}\">{$i}</span></a></li>";
}
//下页链接
$pdiv.= " <li style=\"display:inline;\"><a href=\"{$url}&pages={$nextpage}\" style=\"text-decoration:none;\"> 下一页</a></li>";
//末页链接
$pdiv.= "<li style=\"display:inline;\"><a href=\"{$url}&pages={$lastpage}\" style=\"text-decoration:none;\"> 末页 </a></li>";
$pdiv.= '</div>';
//输出内容
echo $arr[$nowpage - 1];
//不分页则不显示分页列表
if ($total <= 1) $pdiv = '';
//输出分页列表
echo $pdiv;下面是相关静态生成页面,虽然代码不正确但思路是没问题的。
复制代码 代码如下:
<?php
$tmpBody = "fjka;fjsa;{page}批量生成分成文件并且加上分页代码";
$tmpUrl = 'www.phprm.com';
$tmpUrlarray = explode('.', $tmpUrl);
$tmpArray = explode('{page}', $tmpBody);
$total = count($tmpArray);
$id = "2";
if ($total > 1) {
$tmpStr = '';
for ($i = 0; $i < $total; $i++) //遍历所有分页
{
if ($i == 0) {
$str.= '<a href=' . $id . '.htm class=bodypage target=_self>' . ($i + 1) . '</a> ';
} else {
$str.= '<a href=' . $id . '_' . $i . '.htm class=bodypage target=_self>' . ($i + 1) . '</a> ';
}
}
//批量生成分成文件并且加上分页代码
$str = '<div class=mupage>' . $str . '</div>';
for ($j = 0; $j < $total; $j++) {
if ($j == 0) {
$fname = $id . '.htm';
} else {
$fname = $id . '_' . $j . '.htm';
}
$tempMu = str_replace('{htmlContent}', $tmpArray[$j] . $str, $tempLate);
makeHtml($tempMu, $filePath, $fname); //这个函数就不说明了,一个创建文件的代码
}
$mupage = 1;
}
$tempLate = str_replace('{htmlContent}', $tmpBody, $tempLate); //普通文章 以{page}分页取出保存到一个数组再生成分页地址,然后再由根据explode分的数组的内容生成htm 页面
$total = 0;
$str = '';
$i = 0;
$j = 0;
/*
本段代码生成的原理是id_分页号如100_1.htm,100_2.htm这样的形式,先是把
*/
function makeHtml($tempMu, $filePath, $fname) {
$fp = fopen($filePath . $filename, "w");
fwrite($fp, $tempMu);
fclose($fp);
}永久地址:http://www.phprm.com/code/33341.html
转载随意~请带上教程地址吧^^