首页 > 网站开发 > PHP通过模版生成静态页教程, 及做采集网站的思路

PHP通过模版生成静态页教程, 及做采集网站的思路

最后更新: 2015-06-25    浏览次数:     

这两天做一个采集站, 之前的做法是通过Snoopy采集类, 采集对方站点数据(使用php采集类Snoopy采集教程), 然后再通过调用模版, 动态显示页面.

由于被采集站点做了一些保护措施, 采集返回结构速度很慢, 导致采集站点的页面加载的很慢, 甚至出现无法加载的情况.

于是就改变思路, 使用采集, 并且生成静态页面的做法来做.

具体思路:

当访客打开网站的某个页面, 判断服务器是否存在静态页文件, 如果存在, 则直接读取打开, 这样, 页面的加载速度就快多了.

如果不存在, 那就开始采集被采集站的数据, 然后通过模版动态显示页面, 并且将数据保存为静态文件, 供下下个访客使用.

php通过模版生成静态页具体教程:

首先两个文件:

1: 模版文件: templet.htm

代码如下:

<HTML>
<TITLE>{title}</TITLE>
<BODY>
{content}
</BODY>
</HTML>

2: index.php

代码如下:

<?php

$title = “我是标题”;
$content = “您好, 我是内容!”;

$fp = fopen (“templet.htm”,”r”);
$html_c = fread ($fp,filesize (“templet.htm”));

$html_c = str_replace (“{title}”,$title,$html_c);
$html_c = str_replace (“{content}”,$content,$html_c);

echo $html_c;

?>

以上文件中的代码是一般动态显示内容的代码, 如果以上面的代码为例子, 我们只要修改最后一句即可:
<?php

$title = “我是标题”;
$content = “您好, 我是内容!”;

$fp = fopen (“templet.htm”,”r”);
$html_c = fread ($fp,filesize (“templet.htm”));

$html_c = str_replace (“{title}”,$title,$html_c);
$html_c = str_replace (“{content}”,$content,$html_c);

//echo $html_c;
$filename = “test.html”;
$handle = fopen ($filename,”w”); //打开文件指针,创建文件

//检查文件是否被创建且可写
if (!is_writable ($filename)){
die (“文件:”.$filename.”不可写,请检查其属性后重试!”);
}
if (!fwrite ($handle,$html_c )){ //将信息写入文件
die (“生成文件”.$filename.”失败!”);
}
fclose ($handle); //关闭指针
die (“创建文件”.$filename.”成功!”);
?>

这样, 我们就可以在文件夹下生成一个test.html的静态文件!