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来生成等。
添加文章,生成静态
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]