PHP实现批量生成html静态页面

小云云
发布: 2023-03-21 06:38:02
原创
4288 人浏览过

本文主要和大家分享PHP实现批量生成html静态页面,作用于还未了解模板引擎,或者未接触框架。又和我一样遵循懒及生产力原则,希望减少重复呆板工作,避免时间的不必要浪费的同学。 

原理:PHP中str_replace替换函数的运用,


首先需要一个数据库,我叫他newsdata. 和一张表:(news) 具体如下图:

description

提一点,新闻内容和后面说到的html路径的类型设为了TEXT,在MySQL—Front中会显示MEMO,不影响调用,要查看内容点击下面会弹出一六进制编辑器即可查看内容

description


接着你可以创建一个connect.php用于连接数据库,好处是以后直接引用(require_once)就ok,也可以直接在php文件中进行书写
description


然后就是建模板文件(model.html),因为我们只需要调用数据,改想改的内容就ok,其他像什么导航啊,页脚啊,左边右边背景杂七杂八都不变。我就最简单的实现,(对头,懒遭了!)搞懂了当然可以扩展啊,写一个和我写的一样各种炫酷霸道的模板 [手动滑稽],要替换哪里,花括号一括起就开整。

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>{news_title}</title></head><body>
    新闻标题:{news_title}//调用
    新闻内容:{news_contents}//调用</body></html>
登录后复制
登录后复制

顺带简单写一个发布表单(modelform.html),提交到马上要说,主要的add.php文件

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>modelform</title></head><body>
    <form method="post" action="add.php">
        新闻标题:<input type="text" name="news_title" id=""><br/>
        新闻内容:<textarea name="news_contents" cols="50" rows="10"></textarea><br/>
        <input type="submit" value="发布">
    </form></body></html>
登录后复制
登录后复制

接下来就是重点了 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(&#39;".$title."&#39;,&#39;".$content."&#39;,&#39;".$path."&#39;);";$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);
登录后复制

OK!
description

description

description

description

最后感谢“yeqihong”,参考了他的文章 PHP生成静态html网页的三种方法 。晚安!

“in case I don’t see you,
good afternoon,good evening,and good night!——《楚门的世界》”

PHP简易实现批量生成html静态页面

大家好,我骇Yangrl.
原来哈起一坨(蠢萌),写了页面以后,复制十份,挨着改里面的文本,imp,url等内容,做成十张页面(类似新闻详情页啊,商品详情页等)其实整体框架都没改变,就是内容变了。
“你就甘于当一只 只会重复无聊的工作的沙皮狗么?”
作用于还未了解模板引擎,或者未接触框架。又和我一样遵循懒及生产力原则,希望减少重复呆板工作,避免时间的不必要浪费的同学。
原理:PHP中str_replace替换函数的运用,


首先需要一个数据库,我叫他newsdata. 和一张表:(news) 具体如下图:

description

提一点,新闻内容和后面说到的html路径的类型设为了TEXT,在MySQL—Front中会显示MEMO,不影响调用,要查看内容点击下面会弹出一六进制编辑器即可查看内容

description


接着你可以创建一个connect.php用于连接数据库,好处是以后直接引用(require_once)就ok,也可以直接在php文件中进行书写
description


然后就是建模板文件(model.html),因为我们只需要调用数据,改想改的内容就ok,其他像什么导航啊,页脚啊,左边右边背景杂七杂八都不变。我就最简单的实现,(对头,懒遭了!)搞懂了当然可以扩展啊,写一个和我写的一样各种炫酷霸道的模板 [手动滑稽],要替换哪里,花括号一括起就开整。

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>{news_title}</title></head><body>
    新闻标题:{news_title}//调用
    新闻内容:{news_contents}//调用</body></html>
登录后复制
登录后复制

顺带简单写一个发布表单(modelform.html),提交到马上要说,主要的add.php文件

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>modelform</title></head><body>
    <form method="post" action="add.php">
        新闻标题:<input type="text" name="news_title" id=""><br/>
        新闻内容:<textarea name="news_contents" cols="50" rows="10"></textarea><br/>
        <input type="submit" value="发布">
    </form></body></html>
登录后复制
登录后复制

接下来就是重点了 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(&#39;".$title."&#39;,&#39;".$content."&#39;,&#39;".$path."&#39;);";$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);
登录后复制

OK!
description

description

description

description

相关推荐:

在html静态页面中给button加上提交链接的方法介绍

PHP生成HTML静态页面实例代码

PHP生成HTML静态页面实例代码_PHP教程

以上是PHP实现批量生成html静态页面的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!