PHP简易实现批量生成html静态页面
- 作者: 多梦笔记
- 时间: 2026年02月17日 00:01
PHP简易实现批量生成html静态页面
原理:PHP中str_replace替换函数的运用,
首先需要一个数据库,我叫他newsdata. 和一张表:(news) 具体如下图:
提一点,新闻内容和后面说到的html路径的类型设为了TEXT,在MySQL—Front中会显示MEMO,不影响调用,要查看内容点击下面会弹出一六进制编辑器即可查看内容
接着你可以创建一个connect.php用于连接数据库,好处是以后直接引用(require_once)就ok,也可以直接在php文件中进行书写
然后就是建模板文件(model.html),因为我们只需要调用数据,改想改的内容就ok,其他像什么导航啊,页脚啊,左边右边背景杂七杂八都不变。我就最简单的实现,(对头,懒遭了!)搞懂了当然可以扩展啊,写一个和我写的一样各种炫酷霸道的模板 [手动滑稽],要替换哪里,花括号一括起就开整。
{news_title}
新闻标题:{news_title}//调用
新闻内容:{news_contents}//调用
顺带简单写一个发布表单(modelform.html),提交到马上要说,主要的add.php文件
modelform
新闻标题:
新闻内容:
接下来就是重点了 add.php
<?php
header(“content-type:text/html;charset=utf-8”);
//引用连接数据库文件
require_once(“connect.php”);
//获取表单数据
\(title=\)_POST[“news_title”];
\(content=\)_POST[“news_contents”];
//建一个txt,值自增,用作命名
\(countFile="count.txt";
//文件不存在则创建
if (!file_exists(\)countFile)) {
fopen($countFile,"wb");
}
\(handle=fopen(\)countFile,“rb”);
\(num=fgets(\)handle,20);
//每次增加1
\(num=\)num+1;
fclose(\(handle);
//更新\)num
\(handle=fopen(\)countFile,“wb”);
fwrite(\(handle,\)num);
fclose(\(handle);
//获取html路径,可自定义
\)extend=“.html”;
\(path="news".\)num.\(extend;
//插入数据
\)sql=“INSERT news(news_title,news_contents,news_path) VALUES(‘”.\(title."','".\)content.“’,‘”.\(path."');";
\)conn->query(\(sql);
/**---开始替换---**/
//打开html模板
\)handle=fopen(“model.html”,“rb”);
//读取模板内容
\(str=fread(\)handle,filesize(“model.html”));
//替换 str_replace(“被替换的”,“替换成”,“在哪替换”)
//为什么在\(str里替换?因为上面我们才读取的模板内容,肯定在模板里换撒
\)str=str_replace(“{news_title}”, \(title, \)str);
\(str=str_replace("{news_contents}",\)content,\(str);
fclose(\)handle);
//把替换的内容写进生成的html文件
\(handle=fopen(\)path,“wb”);
fwrite(\(handle,\)str);
fclose($handle);
- 上一篇: 抓取远程图片到本地,可以抓取不带有后缀的图片
- 下一篇: M3U8播放器 php版 v1.0
相关文章
-
抓取远程图片到本地,可以抓取不带有后缀的图片
抓取远程图片到本地,可以抓取不带有后缀的图片
- 站长
- 2026年02月17日
-
检查exe或dll的依赖文件 Dependency Walker
检查exe或dll的依赖文件 Dependency Walker
- 站长
- 2026年02月17日
-
反思:C、Python、Java 不可兼得,专心学好一门编程语言
反思:C、Python、Java 不可兼得,专心学好一门编程语言
- 站长
- 2026年02月17日
-
M3U8播放器 php版 v1.0
M3U8播放器 php版 v1.0
- 站长
- 2026年02月17日
-
crontab 常见 /dev/null 2>&1 详解
crontab 常见 /dev/null 2>&1 详解
- 站长
- 2026年02月17日
-
python embeddable和install的区别
python embeddable和install的区别
- 站长
- 2026年02月17日
