A-A+

添加文章时生成静态HTML文章

2012年03月14日 PHP技术文章 评论 7 条 阅读 229 views 次

PHP生成静态文章HTML,有批量的生成,但比较标准的应该是在添加文章时就生成HTML文章,编辑时再重新生成HTML文章,删除文章时同样也样删除多余出来的HTML文章,这时批量生成就显得有点力不从心了,下面就介绍一下PHP在添加文章时如何生成静态的HTML文件。

简单的添加文章表单这里就不写了,下面的这些源码是接受表单传过来的值而执行的程序源码,可以先拿过去测试一下。。。

<?php   
 ob_start();   
 require_once("../inc/conn.php");   
 $typ=$_POST&#91;"typ"&#93;;   
 $title=$_POST&#91;"title"&#93;;   
 $content=$_POST&#91;"d_content"&#93;;   
 $author=$_POST&#91;"author"&#93;;   
 $source=$_POST&#91;"source"&#93;;   
 $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来生成等。

标签:

7 条留言  访客:7 条  博主:0 条

  1. CAD2012下载

    代码对我来说一直都是一个很深奥的知识,哈哈
    admin 回复 [2013-01-06 11:02 PM]
    接触了就不难理解了!

  2. 哥特复兴

    现在准备期末考试,,寒假打算好好看看php…佩服你的技术啊
    admin 回复 [2013-01-03 11:18 PM]
    一起学习,欢迎来访。

  3. 爱撸小杰

    静态的话是不是会占用很多空间??
    admin 回复 [2013-01-03 11:18 PM]
    相对于动态来说,占的空间会很多,但速度和SEO的优化会有所提高。

  4. 李祺瑶

    代码勉强能看下,学习了。
    admin 回复 [2013-01-03 11:17 PM]
    一起进步,欢迎来访!

  5. 设计2点半

    代码是完全弄不好。
    admin 回复 [2013-01-03 11:16 PM]
    设计我一样也搞不懂的,看你的设计独有创意,欢迎来访!

  6. 小强博客

    好代码真多,我正在学习PHP,慢慢拜读。
    admin 回复 [2013-01-03 11:15 PM]
    嗯,希望能共同交流。

  7. chenqijia

    代码这东西我不太懂,但是很值得站长学习。
    admin 回复 [2013-01-03 11:15 PM]
    互联网发展迅速,有些东西只要了解就可以使用。

给我留言