0

0

PHP生成HTML的思路

php中文网

php中文网

发布时间:2016-06-21 08:57:11

|

1122人浏览过

|

来源于php中文网

原创

前网络上好多网站的新闻发布系统都采用了动态服务器技术生成静态HTML的做法,这样做的好处是:一是能减轻其服务器的负担,二是因为生成了HTML静态页面,所以其网站被搜索引擎搜索到的机率更大一些。

笔者的网站曾经使用php这一动态技术来构建新闻发布系统,其原理也就是应用了php生成html静态页面的技术,相关平台是 windows xp sp2+php4.32+mysql,因此,在这里,想简单地谈一下这种做法的思路。这篇文章适合于对php+mysql数据库操作,sql语句以及网页设计有点基础的朋友,如果您是一个从头开始学的朋友,那么请先打好基础吧!到这里就不用往下看了。如果您都符合上述条件的话,那么恭喜您,请接着往下看。但是,在具体动手构建之前,您还要做好以下几点准备工作。

一、 具备本地调试PHP的功能

在WINDOWS XP操作系统下,笔者建议你可以到网上下载一个PHP+MYSQL+APHCHE的服务器套装,如华军软件园,去那里搜索一下就可以下载到。下载完后默认安装即可,这样您就具备了在本地测试PHP的功能了,省去了很多手动配置的麻烦,怎么样,简单吧,OK,这仅仅只是第一步。

二、 构思新闻发布系统所具备的功能

首页的新闻发布往往是通过后台更新的,后台的更新无非是由添加、编辑、删除数据等基本的功能所实现的。在这里,你可以使用网页设计软件来构建你的想要的后台界面,其功能的实现当然是要用到PHP喽。这一步建议您先想好新闻发布系统要有的功能。在这里,如何用PHP添加、编辑、删除数据就不再重复,因为重点是如何在这基础上生成静态技术。

立即学习PHP免费学习笔记(深入)”;

三、 PHP生成HTML的技术原理。

析稿Ai写作
析稿Ai写作

科研人的高效工具:AI论文自动生成,十分钟万字,无限大纲规划写作思路。

下载

哈哈。费话说了那么多,终于到了该讲的地方了。其实,这一原理并不复杂,综合地来讲的话,应该是PHP中一个替换数据语法的应用。OK,讲一个简单范例吧,一步一步地分析!相信聪明的你能看得明白的咯,仔细看好每一步即可,在这里,只是引导大家如何做而已,具体的可以实践一下!

(1)在MYSQL里新建一数据库,命名为 database (可自定义),新建一表,命名为 news(因为是新闻发布嘛,取个好记的名字即可,可自定义),然后建立这几个字段名:
id (自动递增,这是关键,类型:INT)
title (顾名思义,新闻标题,类型可取 TEXT)
content (新闻内容,类型可取 TEXT)
path (HTML文件路径,类型可取 TEXT)

(2)建立 conn.php
这是连接数据库的PHP文件,你可以把连接数据的语句单独放在这一文件里,以后多个需要连接数据库的文件直接引用这个文件即可。

(3)设计添加新闻的表格 add.form 简单的源代码如下:

以下是代码片段,把《》换成:

《form method=”post” action=”add.php”> //提交至 add.php
新闻标题:

新闻内容:

《input type=”submit” name=”提交”》
《/form》

(4)建立一个 HTML 的模板,另存为model.htm,和 add.php可以在同一目录下。
示例源代码:

以下是代码片段,把《》换成:

《html>
《body>
此新闻的标题:{title}
此新闻的内容:{content}
《/body>
《/html>
{ }大括号内的内容即是要被替换的内容,整个静态模板的设计可以根据自己的思路,但{ }内被替换的内容必须包含在内,如上面的{title},{content};咔咔~简单地说,设计好一个很好看的新闻模板后,把要被替换的如{title},{content}等标记放到需要的地方就可以了撒。

(5)详解 add.php 源码

以下是代码片段,把《》换成:

《?php
require_once(“conn.php”); //引用conn.php,连接数据库
title=_POST[“title”];
content=_POST[“content”]; //获得表单变量

//以下建立一文本文档,其值自动计数
countfile="count.txt";
if(!file_exists(countfile))
{
fopen(countfile,"w"); //如果此文件不存在,则自动建立一个
}
fp=fopen(countfile,"r");
num=fgets(fp,20);
num=num+1; //每次其值自动加一
fclose(fp);
fp=fopen(countfile,"w");
fwrite(fp,num); //更新其值
fclose(fp);

//利用上面自动计数的值获得HTML的路径path
houzui=”.html”;
path=num.houzui;
//这样形成的路径是自动增长的,如1.html,2.html,3.html……….添加一条新闻便自动加上1

//以下用SQL语句添加数据至表 news

以下是代码片段,把《》换成:
sql=”insert into news (title,content,path) values (‘”.title.”’,’”.content.”’,’”.path.”’)”;
query=mysql_query(sql);

//以下为关键之处,把从表单获得的数据替换模板中的{title},{content}标记

以下是代码片段,把《》换成:
fp=fopen(“model.htm”,”r”) //只读打开模板
str=fread(fp,filesize(“mode.htm”));//读取模板中内容
str=str_replace(“{title}”,title,str);
str=str_replace(“{content}”,content,str);//替换内容
fclose(fp);

handle=fopen(path,”w”); //写入方式打开新闻路径
fwrite(handle,str); //把刚才替换的内容写进生成的HTML文件
fclose(handle);

//收尾工作:

以下是代码片段,把《》换成:
echo “查看刚才添加的新闻”;

OK,整个生成HTML的示例源码就到这里,其关键是用了替换的方法。
str=str_replace(“{被替换的内容}”,替换的内容,str);

因此,总结一下以上的做法:先设计好新闻模板,把需要被替换的内容用{ }放到模板中相应的位置,然后设计表单,再是最后的表单处理程序,把从表单中获取的变量替换模板中相应的内容即可,这样每次都会生成不同的HTML;如果需要修改HTML的内容也是一样的,获得修改后的表单内容后,先用 update 语句更新数据库,再重新替换一下模板中的内容即可;删除的话,先delete表中要删除的内容,再用unlink(path) 来删除HTML的物理文件即可。



PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.6万人学习

AngularJS教程
AngularJS教程

共24课时 | 2万人学习

PHP课程
PHP课程

共137课时 | 7.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号