利用PHP生成静态html页面的原理

现在很多网站系统,如dedecms、phpcms、帝国等知名内容管理系统都提供生成静态页面的功能,这不光有利于搜索引擎的抓取,而且还能有效降低服务器压力。对于学习PHP,将要从事WEB网站开发的朋友们来说,了解这个功能是必须的,下面来分享一下PHP生成静态页面的原理。

前言

如果每次用户点击动态链接的时候都会对服务器发送数据查询的要求,对于一个访问量可能达百万千万级别的网站来说 这无疑是服务器一个大大的负担,所以把动态数据转换成静态html页面就成了节省人力物力的首选因为此前没有相应的经验,所以这篇文章和大家分享利用PHP生成静态html页面的原理和方法,有需要的可以一起来看看。

一、思路分析

其实,实现静态页面生成功能的原理很简单,主要利用几个常见的PHP文件操作函数对文件进行操作,其思路流程如下:


生成静态页面流程图

二、功能实现

设置example.html为模板文件,然后按照此模板文件生成article-1.html~article-5.html,以此来做简单的演示,代码如下:

<?php
//将数据存入二维数组
$con=array(array('文章标题1','文章内容1'),array('文章标题2','文章内容2'),array('文章标题3','文章内容3'),array('文章标题4','文章内容4'),array('文章标题5','文章内容5'));

foreach($con as $id=>$val){ //循环生成
 $title=$val[0];
 $content=$val[1];
 $path="article-".($id+1).".html";

 //替换example内容,并获取内容赋值给$str
 $fp=fopen("example.html","r");
 $str=fread($fp,filesize("example.html"));
 $str=str_replace("{title}",$title,$str);
 $str=str_replace("{content}",$content,$str);
 fclose($fp);

 //新建空白文件,将$str写入
 $handle=fopen($path,"w");
 fwrite($handle,$str);
 fclose($handle);

 echo "生成".$path."<br/>";
}
?>
}

注解:

     fopen(文件名,打开方式),打开文件函数,若无文件,则创建。其返回值为资源型;

     fread(文件名,读取字节数),读取文件内容及对应的字节数;

     str_replace(规定要查找的值,替换被查找值的值,被搜索的字符串),替换函数;

     fclose(文件名),关闭文件;

     fwrite(要写入的打开文件,要写入打开文件的字符串,要写入的最大字节数)。

三、总结

原理比较简单,作为php初学者,要把每个基础知识扎实学好,你的PHP之路定会风光无限,以上就是这篇文章的全部内容了,希望能对各位PHP开发者们能有所帮助,如果有疑问大家可以留言交流。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【软件功能特点】    一、强大的模板引擎技术   企业网站管理系统借鉴了Discuz的模板技术,实现了MVC模式,模板全面标签化,只需懂得简单的html语言就能打造一个漂亮的网站;      二、无限极分类,自由选取模块。   实现递归无限级分类,每个分类可自定义模块,自选模块;   三、模版、插件共分享资源无限   模版,方便地安装插件、模版、边框;采用积分机制激励插件、模版的DIY开发和资源分享,越来越丰富的资源让您的网站越来越丰富多彩;   四、邮件订阅及群发功能   邮件订阅及邮件群发功能,后台轻松实现邮件营销,让您的企业通过互联网快速向外传播;   五、良好的用户体验   采用JQUERY、AJAX等前端技术,注重用户友好度和用户体验;   六、网站地图(sitemap.xml)   生成生成Google网站地图,通过Google工具,让搜索引擎快速收录最新发布的页面; 七、平滑的静态网页生成 基于AJAX的平滑静态网页技术,生成静态网页,提高网站访问效率,有利搜索引擎收录。 【安装】   请注意备份原有数据库内容,以免覆盖。   1.下载并解压缩文件包,上传至服务器或主机空间    2.在浏览器地址栏中输入:http://你的域名/install.php进入安装界面;   3.按步骤安装系统。   4.进入http://你的域名/admin用自己设置的管理用户名字和密码登录后台进行初始设置.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值