博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
制作生成静态页面的新闻系统
阅读量:6940 次
发布时间:2019-06-27

本文共 3958 字,大约阅读时间需要 13 分钟。

利用PHP生成静态HTML页面的好处很多:

   1.静态页面不需要Web服务器解释执行,用户打开网页的速度会快些;

   2.打开静态页面时,Web服务器不需要访问数据库,减轻了对数据库访问的压力;

   3.静态HTML页面对搜索引擎更加友好,使网站在搜索引擎中的排名能够上升。

原理:利用fopen()方法创建文本文件,再用fwrite()方法向文件中写入符合HTML格式的字符串。

        因此,用户在后台添加一条新闻后,PHP程序一方面将这条新闻作为一条记录添加到数据库中;另一方面根据这条新闻创建一个静态的HTML页面。

创建HTML页面的过程:首先制作一个新闻页面的模板,然后将这条新闻的各个字段替换掉模板页中的标志内容。最后将替换后的模板页用fwrite()方法写入到创建的文件中。

 1.数据库的设计

CREATE TABLE  `news` (id INT PRIMARY KEY AUTO_INCREMENT ,title VARCHAR( 30 ) ,content TEXT,author VARCHAR( 200 ) ,TIME DATETIME,bigclass VARCHAR( 200 ) ,filepath VARCHAR( 100 )) ENGINE = INNODB DEFAULT CHARSET = utf8

可以看出,与普通的news表相比,生成静态页面的新闻系统主要多了一个filepath字段,用于将生成的HTML文件的文件名和路径名保存到news表中,便于在新闻表页能建立到这些HTML文件的链接。

2.新闻模板页的制作

在数据库中再建一个表moban,用来保存模板页的HTML代码,之所以要将模板页的代码保存到数据库中,是为了方便能够通过新闻系统后台对模板页的代码进行修改,还能在MOBAN表中保存多个模板页,让用户从后台发布新闻时可以选择任意一套模板。

CREATE TABLE  `moban` (id INT PRIMARY KEY AUTO_INCREMENT ,html TEXT) ENGINE = INNODB DEFAULT CHARSET = utf8

 

新闻添加页面的程序制作

1.制作新闻添加的前台页面addnews.php

添加页面

添加新闻页面

新闻标题:
发布者:
所属栏目:
新闻内容:

2.保存新闻到news表的程序(add.php)

alert('添加失败');location.href='addnews.php';"; } }?>

3.新闻管理后台系统admin.php

新闻后台管理系统

新闻后台管理系统

添加新闻

ID 新闻标题 发布者 发布时间 操作
编辑 删除
内容:

该程序每条新闻的标题都是连接到生成的静态HTML文件的URL上($row['filepath']保存了静态文件的URL地址),这样用户才能通过链接打开这些HTML文件。

4.新闻修改页面的制作

(1)获取admin.php页传过来的ID值,根据ID读取原来的记录,显示在该页的表单中供用户修改。

(2)当用户提交修改页面之后,使用用户提交的信息更新news表中对应的记录。

(3)使用用户提交的信息替换模板页中的相应字符,再重新生成同名的HTML文件。

 

alert('修改成功');location.href='admin.php'"; }else{ echo ""; } } } $sql = "select * from news where id = $id"; $result = mysql_query($sql)or die("操作数据库失败".mysql_errno()); $rows = mysql_fetch_assoc($result); ?>
新闻修改页面

新闻修改页面

新闻标题:
发布者:
所属栏目:
新闻内容:

5.页面的删除系统del.php

   该页面的删除也分为两个部分,其一是将这条新闻的记录从news表中删除;其二是删除该新闻对应的静态HTML文件,这是必要的,否则浏览者还可以通过直接输入html文件的URL访问到该新闻页面。

"."&&$f<>"..") //如果目录中还有其他文件 $n++; } closedir(); if($n==0) //目录中已经没有任何文件 rmdir($folderpath); //删除该目录 $sql="delete from news where id=$id"; //删除数据表中的记录 if(mysql_query($sql)) echo ""; else echo "";?>

 

转载于:https://www.cnblogs.com/xs-yqz/p/4951214.html

你可能感兴趣的文章
hadoop的常用shell命令
查看>>
关于我用过Matlab后的一些看法
查看>>
一个优秀的项目经理应该具备的七个特点
查看>>
iOS中Block的基础用法
查看>>
nagios安装配置(一):nagios
查看>>
10个必备的移动UI设计资源站(转)
查看>>
linux,SSL的实现过程
查看>>
Hibernate配置相关的类
查看>>
jQuery Mobile开发1-基本框架
查看>>
开源中Web开发的各种资源
查看>>
静态化
查看>>
在线技术培训:讲师之道
查看>>
Entity Framework 4 in Action读书笔记——第一章:数据访问重载:Entity Framework(3)...
查看>>
SLG手游Java服务器的设计与开发——网络通信
查看>>
Linux 系统启动过程 及系统修复
查看>>
编译内核 报错 -mlittle-endian
查看>>
Centos 下解压和压缩rar文件
查看>>
我的友情链接
查看>>
用好线程池
查看>>
DIV+CSS提高篇--精通DIV
查看>>