首页 > 编程 > PHP > 正文

PHP生成HTML静态页面

2019-11-15 01:19:31
字体:
来源:转载
供稿:网友
php生成HTML静态页面功能:

从PHP生成HTML静态页面并存储到以年份和月份为名称创建的目录。读取全部数据批量生成,全部生成后弹出提示。可指定批次生成数量,建议不超过800,否则执行速度会有问题。

为jbxue.com网站功能而开发,代码为本人原创,生成速度一般。

(出于众所周知的原因,涉及到数据库的数据字段名称做了改动,并且为了代码明晰去掉了参数过滤的部分)

说明:原动态地址为 moban.php?id=1 ,生成后地址为 html/200808/sell_1.html 。page.php为分页程序,本博客中有发布。

页面使用方式,将本代码保存为make.php,使用方法为浏览器访问 make.php?t=数量&pg=页面;例如 make.php?t=300&pg=2,即每次生成300条数据,从数据列表第2页开始生成,即跳过前面300条。如果不加任何参数,直接访问make.php,则默认每次生成200条,从第一页开始生成。

例子:

Php代码
  1. <?php
  2. if($_GET[pg]==''){
  3. $aa=1;
  4. }else{
  5. $aa=$_GET[pg];
  6. }
  7. include("admin/conn.php");
  8. require_once("page.php");
  9. $result=MySQL_query("select*from2carsell");
  10. $totle=mysql_num_rows($result);
  11. $pagelist=$_GET[t];
  12. if($_GET[t]==''){
  13. $pagelist='200';
  14. }else{
  15. $pagelist=$_GET[t];
  16. }
  17. $pager=newPager($totle,$pagelist);
  18. $datastat="共<b>".$pager->countall."</b>条,每次生成<b>".$pager->countlist."</b>条,共需生成<b>".$pager->page."</b>次";//数据统计
  19. $bb=$pager->page;
  20. $pagenav=$pager->backstr.$pager->thestr.$pager->nextstr;
  21. $limitFrom=$pagelist*($pager->pg-1);
  22. $result=mysql_query("select*from2carsellORDERBYidDESClimit$limitFrom,$pagelist");
  23. ?>
  24. <center><divstyle="font-size:14px;"><b>第<fontcolor=red><?echo$aa?></font>次页面生成中..<?echo$datastat?></b></div><br>
  25. <?
  26. //php生成静态页面
  27. //www.jbxue.com
  28. PRint"<center><textareaname=textareaclass=textareastyle='width:520px;height:455px'>";
  29. while($datauser=mysql_fetch_array($result)){
  30. $iid=$datauser[id];
  31. $html=file_get_contents("/moban.php?id=".$iid."");
  32. $sql="select*from2carsellwhereid=$iid";
  33. $data=mysql_fetch_array(mysql_query($sql));
  34. $path=date("Ym",$data[PutDate]);
  35. $testdir="html/".$path;
  36. if(file_exists($testdir)):
  37. else:
  38. mkdir($testdir,0777);
  39. echo"目录".$testdir."创建成功!<br>";
  40. endif;
  41. $filename="html/$path/sell_$iid.html";
  42. //使用写入模式打开$filename
  43. if(!$handle=fopen($filename,'w')){
  44. print"不能打开文件$filename";
  45. exit;
  46. }
  47. if(is_writable($filename)){
  48. //将$html写入到我们打开的文件中。
  49. if(!fwrite($handle,$html)){
  50. print"不能写入到文件$filename";
  51. exit;
  52. }
  53. print"文件$filename更新成功!/n/r";
  54. fclose($handle);
  55. }else{
  56. print"文件$filename不可写";
  57. }
  58. ?>
  59. <?}?>
  60. </textarea>
  61. <br><br>
  62. <divstyle="font-size=12px"><?echo$datastat.""?></div><br><br>
  63. <?
  64. $aa=$aa+1;
  65. if($aa>$bb){
  66. echo'<fontcolor=blue>恭喜,所有页面生成完毕!</font>';
  67. echo"<script>alert('所有文档生成/更新完毕!')</script>";
  68. }else{
  69. echo"<Script>window.location='make.php?t=$pagelist&pg=$aa';</script>";
  70. }
  71. ?>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表