php添加文章时生成静态HTML文章的实现代码

yipeiwu_com6年前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来生成等。

相关文章

php导入csv文件碰到乱码问题的解决方法

今天主要是想写一个php导入csv文件的方法,其实网上一搜一大把。都是可以实现怎么去导入的。但是我导入的时候遇到了两个问题,一个是在windows上写代码的时候测试发生了乱码问题,然后解...

PHP快速排序算法实例分析

本文实例讲述了PHP快速排序算法。分享给大家供大家参考,具体如下: 快速排序:在无序的数组$data中,选择任意一个值作为对比值,定义i为头部检索索引,j为尾部检索索引, 算法步骤: (...

网站用php实现paypal整合方法

所以今天我就来讲讲如何将你的网站和paypal进行整合。 首先,去paypal申请一个号吧,资料都补充完整之后,我们就可以开始行动乐,对了,申请paypal时,要申请那种可以接受别人付款...

php中的抽象方法和抽象类

1、什么是抽象方法? 我们在类里面定义的没有方法提的方法就是抽象方法。所谓的没有方法体指的是,在声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象...

PHP使用get_headers函数判断远程文件是否存在的方法

本文实例讲述了PHP使用get_headers函数判断远程文件是否存在的方法。分享给大家供大家参考。具体实现方法如下: 以前讲过程关于php判断远程文件是否存在的文章都是利用fopen,...