程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php添加文章時生成靜態HTML文章的實現代碼

php添加文章時生成靜態HTML文章的實現代碼

編輯:關於PHP編程

PHP生成靜態文章HTML,有批量的生成,但比較標准的應該是在添加文章時就生成HTML文章,編輯時再重新生成HTML文章,刪除文章時同樣也樣刪除多余出來的HTML文章,這時批量生成就顯得有點力不從心了,下面就介紹一下PHP在添加文章時如何生成靜態的HTML文件。

    簡單的添加文章表單這裡就不寫了,下面的這些源碼是接受表單傳過來的值而執行的程序源碼,可以先拿過去測試一下。。。
復制代碼 代碼如下:
<?php
 ob_start();
 require_once("../inc/conn.php");
 $typ=$_POST["typ"];
 $title=$_POST["title"];
 $content=$_POST["d_content"];
 $author=$_POST["author"];
 $source=$_POST["source"];
 $mobanpath="../moban/moban.html";
 if(file_exists($mobanpath))
 {
  $fp=fopen($mobanpath,"r");
  $str=fread($fp,filesize($mobanpath));
  $str=str_replace("-title-",$title,$str);
  $str=str_replace("-time-",date("Y-m-d H:i:s"),$str);
  $str=str_replace("-content-",$content,$str);
  $str=str_replace("-author-",$author,$str);
  $str=str_replace("-source-",$source,$str);
  $foldername=date("Y-m-d");
  $folderpath="../newslist/".$foldername;
  if(!file_exists($folderpath))
  {
   mkdir($folderpath);
  }
  $filename=date("H-i-s").".html";
  $filepath="$folderpath/$filename";
  if(!file_exists($filepath))
  {
   $fp=fopen($filepath,"w");
   fputs($fp,$str);
   fclose($fp);
  }
  $filepath=$foldername."/".$filename;
  $sql="insert into newscontent (newstypeid,newstitle,newspath,newssource,newstime) values ($typ,'$title','$filepath','$source','".date("Y-m-d H:i:s")."')";
  mysql_query($sql);
  header("location:add.php");
 }
?>

    ob_start()是開啟session的意思,寫不寫關系不是很大,這裡按照PHP標准的寫法添加上去了。

    第二句就是包含鏈接數據庫的文件了。

    下面$內容=$_POST["內容"];就是接受過來表單的內容了。有幾項就接受幾項吧。

    $mobanpath="../moban/moban.html"; 這個是模板的路徑。

    if(file_exists($mobanpath)):檢驗模板的文件是否存在,如果存在的話就執行下面的模板標簽替換操作。

    再往下就是利用str_replace來執行模板標簽的替換操作了,同時建立HTML文件,最後通過SQL語句添加到數據庫裡面,再返回到add.php添加文章標單的地方,這裡的生成HTML規則可以自己添加,比如按照時間來生成,或者按照文章ID來生成等。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved