`

php静态页面生成

    博客分类:
  • 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生成HTML的技术原理。

哈哈。费话说了那么多,终于到了该讲的地方了。其实,这一原理并不复杂,综合地来讲的话,应该是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=”text” name=”title” size=”20”><br>
新闻内容:<textarea name=”content” cols=”10” rows=”25”></textarea><br>
<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 “<a href=$path target=_blank>查看刚才添加的新闻</a>”;

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

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

自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com

分享到:
评论

相关推荐

    php静态 页面生成

    在提供的代码中,可以看到一个名为`CreateShtml`的函数,这个函数实现了PHP静态页面的生成过程。它首先通过`ob_start("callback_CteateShtml")`开启PHP的输出缓冲区,这意味着所有的输出都将被存储在内存中,而不是...

    雨尘SEO静态页面生成系统版本源码3秒钟可生成上千条单页面SEO必备神器.zip

    一款随机静态页面生成系统,一秒钟可生成上千条单页面,批量生成单页用来做SEO是非常不错的源码。 雨尘SEO静态页面生成系统PHP网站源码v1.3最新版本,支持文章采集,功能,多模板选择批量生成单页,本次更新增了百度...

    PHP随机静态页面生成系统源码 雨尘SEO系统v1.3

    PHP随机静态页面生成系统源码 雨尘SEO系统v1.3 一款随机静态页面生成系统,一秒钟可生成上千条单页面,批量生成单页用来做SEO是非常不错的源码。雨尘SEO静态页面生成系统源码v1.3版本,支持文章采集,功能,多模板...

    web静态网页生成器

    "Web静态网页生成器"是一种工具,主要用于自动化创建和构建静态HTML页面。在互联网发展初期,静态网页是最常见的形式,它们由纯HTML代码组成,不包含任何服务器端脚本,如PHP、Java或ASP等。静态网页加载速度快,对...

    PHP静态页面生成系统源码.rar

    一款随机静态页面生成系统,一秒钟可生成上千条单页面,批量生成单页用来做SEO是非常不错的源码。 支持文章采集,功能,多模板选择批量生成单页,本次更新增了百度自动推送和网站地图sitemap功能。 安装教程 手动...

    PHP网站源码 雨尘SEO静态页面生成系统源码

    一款随机静态页面生成系统,一秒钟可生成上千条单页面,批量生成单页用来做 SEO 是非常不错的源码,程序支持二级目录运行,可自行添加模板请参考后台教程。 1、第一次使用程序前请先手动导入 sql 文件到数据库,并...

    PHP静态文件生成类库

    3. **URL映射**:处理动态URL到静态文件路径的转换,确保正确访问静态页面。 4. **事件监听器**:在特定事件(如内容更新)发生时触发静态文件的重新生成。 5. **日志记录**:记录生成过程中的错误和警告,便于调试...

    伪静态页面生成技术|静态页面|生成技术

    伪静态页面生成技术是网站优化的重要手段,它结合了动态网页的灵活性和静态网页的优势,有助于提升SEO排名和用户体验。通过URL重写、服务器端转换或前端路由等方式,我们可以轻松实现伪静态效果。在实际应用中,合理...

    PHP生成静态页面(ob_start+smarty)生成

    本篇将详细介绍一种基于`ob_start()`和Smarty模板引擎的PHP静态页面生成方法。 1. **输出缓冲控制函数**: `ob_start()`是PHP中用于开启输出缓冲区的函数,它会将程序生成的所有输出存储在内存中,而不是立即发送...

    最简单的php生成静态页的类

    在PHP编程中,生成静态...总之,这个“最简单的php生成静态页的类”提供了一个基础的实现,帮助开发者理解和实践PHP静态页面生成。通过研究这个类,我们可以掌握动态网站优化的关键技巧,提升网站的用户体验和性能。

    静态页面生成

    静态页面生成的主要优势在于,它可以预先生成所有可能的页面,如在描述中提到的“北京400电话”和“上海400电话”这样的关键词页面,覆盖全国各市、县。这样,当用户搜索这些关键词时,服务器无需每次都执行脚本,...

    php生成静态页面源码

    当我们谈论"PHP生成静态页面源码"时,我们是指通过PHP脚本将动态内容转化为HTML文件,这些HTML文件可以独立存在于服务器上,不依赖数据库或PHP解释器来展示内容。这种方式有助于提高网站的加载速度,减轻服务器负担...

    PHP生成静态页面详解

    ### PHP生成静态页面详解 #### 一、PHP脚本与动态页面 PHP作为一种服务器端脚本语言,可以嵌入HTML文档或独立使用,并且能够利用模板、类和函数等方式进行组织和封装。当用户访问一个PHP页面时,实际上发生的过程...

    首页静态页面生成工具

    在标签中提到了“静态页面”,静态页面是不通过服务器端脚本(如PHP、ASP.NET等)动态生成的HTML文件,它们的内容在网页被创建时就已经确定,不会根据用户的交互或特定条件变化。这种页面加载速度快,但更新维护相对...

    把php生成静态(html)页面程序类

    把php生成静态(html)页面程序类 private $template; //模版 private $file_name; //文件名 private $array; //数据数组 function __construct($file_name, $template, $array) { //构造类 $this-&gt;...

    php生成全国多城市分站静态页面代码

    本文将详细探讨如何使用PHP生成全国多城市分站的静态页面代码,这涉及到动态网站内容的静态化、多城市数据处理以及文件系统操作等多个方面。 一、静态页面的优势 生成静态页面的主要优点在于提高网站的加载速度和...

    自动生成静态页面

    在现代Web开发中,静态页面是指HTML、CSS和JavaScript等文件在用户请求之前就已经存在于服务器上,而不是由动态脚本(如PHP、Python或Ruby)实时生成。这种方式有诸多优点,包括更快的加载速度、更好的搜索引擎优化...

    PHP生成静态页面教程

    - 加载速度快:由于静态页面是预生成的,因此无需经过服务器端的处理,可以直接从服务器硬盘读取文件发送给客户端,极大地提高了网页加载速度。 - 服务器负载低:静态页面不需要服务器执行任何脚本来生成内容,...

Global site tag (gtag.js) - Google Analytics