国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP生成HTML純靜態網頁程序代碼

2024-05-04 21:58:12
字體:
來源:轉載
供稿:網友

關于用PHP如何實現全站靜態化處理的內容,這樣讓php生成HTML純靜態網頁,讓訪問速度更快,代碼如下:

  1. //在開始處加入 ob_start(); 
  2. ob_start(); 
  3.  
  4. //以下是代碼 
  5. //在結尾加入 ob_end_clean(),并把本頁輸出到一個變量中 
  6. $temp = ob_get_contents(); 
  7. ob_end_clean(); 
  8.  
  9. //寫入文件 
  10. $fp = fopen(‘文件名','w'); 
  11. fwrite($fp,$tempor die(‘寫文件錯誤'); 

這只是最基本的方法,還不是很實用,因為網站是要更新的,要定期重新生成HTML,下面是我用的方法,代碼如下:

  1. if(file_exists(“demo.html”)) 
  2. $time = time(); 
  3.  
  4. //文件修改時間和現在時間相差半小時一下的話,直接導向html文件,否則重新生成html 
  5. if($time - filemtime(“demo.html”) < 30*60) 
  6. header(“Location:demo.html”); 
  7. //在開始處加入 ob_start(); 
  8. ob_start(); 
  9.  
  10. //頁面的詳細內容 
  11. //在結尾加入 ob_end_clean(),并把本頁輸出到一個變量中 
  12. $temp = ob_get_contents(); 
  13. ob_end_clean(); 
  14.  
  15. //寫入文件 
  16. $fp = fopen(‘demo.html','w'); 
  17. fwrite($fp,$tempor die(‘寫文件錯誤'); 
  18.  
  19. //重新導向 
  20. header(“Location:demo.html”); 

上面的方法在大批生成時可能不是最好的辦法了,我們來看另一段代碼:

  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 * from 2carsell ");  
  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 = new Pager($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 * from 2carsell ORDER BY id DESC limit $limitFrom,$pagelist");  
  23. ?>  
  24. <center><div style="font-size:14px;"><b>第 <font color=red><?echo $aa?></font > 次頁面生成中..<? echo $datastat?></b></div><br>  
  25. <?  
  26. print "<center><textarea name=textarea class=textarea style='width:520px;height:455px'>";  
  27. while($datauser=mysql_fetch_array($result)){ 
  28.  
  29. $iid=$datauser[id];  
  30. $html = file_get_contents("/moban.php?id=".$iid."");  
  31. $sql="select * from 2carsell where id=$iid";  
  32. $data=mysql_fetch_array(mysql_query($sql));  
  33. $path=date("Ym",$data[PutDate]);  
  34. $testdir="html/".$path;  
  35. if(file_exists ($testdir)):  
  36. else:  
  37. mkdir ($testdir, 0777);  
  38. echo "目錄".$testdir."創建成功!<br>";  
  39. endif
  40.  
  41.  
  42. $filename = "html/$path/sell_$iid.html"
  43.  
  44. // 使用寫入模式打開$filename  
  45. if (!$handle = fopen($filename'w')) {  
  46. print "不能打開文件 $filename";  
  47. exit;  
  48.  
  49. if (is_writable($filename)) { 
  50.  
  51. // 將$html寫入到我們打開的文件中。  
  52. if (!fwrite($handle$html)) {  
  53. print "不能寫入到文件 $filename";  
  54. exit;  
  55.  
  56. print "文件 $filename 更新成功!nr"
  57.  
  58. fclose($handle); 
  59.  
  60. else {  
  61. print "文件 $filename 不可寫";  
  62. }  
  63. ?>  
  64. <? }?>  
  65. </textarea>  
  66. <br><br> 
  67. <div style="font-size=12px"><? echo $datastat." "?></div><br><br>  
  68. <?  
  69. $aa=$aa+1;  
  70. if($aa>$bb){  
  71. echo '<font color=blue>恭喜,所有頁面生成完畢!</font>';  
  72. echo "<script>alert('所有文檔生成/更新完畢!')</script>";  
  73. }else{  
  74. echo "<Script> window.location='make.php?t=$pagelist&pg=$aa'; </script>";  
  75. }  
  76. ?> 

說明:原動態地址為 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條,從第一頁開始生成.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河北区| 蒲城县| 板桥市| 济阳县| 沅江市| 云梦县| 阿勒泰市| 安顺市| 兰溪市| 招远市| 南京市| 西充县| 衡阳市| 定州市| 通海县| 文化| 达尔| 清新县| 余姚市| 游戏| 缙云县| 隆尧县| 浪卡子县| 临湘市| 南宁市| 独山县| 梁平县| 黑龙江省| 上蔡县| 株洲市| 丰镇市| 屯留县| 洪江市| 吴桥县| 西吉县| 宁乡县| 镇远县| 四子王旗| 屏南县| 德阳市| 都匀市|