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
转载随意~请带上教程地址吧^^