php定时生成首页静态,PHP静态首页定时更新实现方法

您的位置:3搜网 > 技术 > php定时生成首页静态,PHP静态首页定时更新实现方法

php定时生成首页静态,PHP静态首页定时更新实现方法

来源:3搜网分类:技术时间:2022-07-14 09:56:28浏览量:

关于php定时生成首页静态,PHP静态首页定时更新实现方法以下文字资料是由3搜网小编为大家搜集整理后发布的内容,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php定时生成首页静态,PHP静态首页定时更新实现方法”文章吧。

php定时生成首页静态,PHP静态首页定时更新实现方法

UCH的首页做了跳转,这对搜索引擎收录很不利,也稍稍影响访问速度.在不改变原系统代码的情况下用js调用方式+php实现首页的定时自动静态化是我以前做站的时候用过的一种办法,这次再故技重施一把.

应用前提:

主机默认首页优先级别: index.html(或index.htm,default.htm等)高于index.php,因为系统的默认首页为index.php,我们必须要让生成的静态页访问在index.php之前.

实现思路:

写一个程序m.php用ob调用network.php的输出(如果默认把network.php作为首页的话),把输出内容保存到index.html,并在后面加上调用m.php的代码(,t是更新时间,下次更新时可以先判断是否到了更新时间) .第一次需要手工执行m.php生成index.html,以后在访问index.html时会自动调用m.php更新index.html,从而实现静态首页的自动更新.

代码:

try{
$nowtime=time();
$pastsec=$nowtime-$_GET["t"];
if ($pastsec<300) { 
exit;//5分钟更新一次,时间可以自己调整 
} 
ob_start(); //打开缓冲区 
include(“network.php”); 
$content=ob_get_contents(); //得到缓冲区的内容 
$content.=”n”; //加上调用更新程序的代码 
file_put_contents(“index.html”,$content); 
if (!function_exists(“file_put_contents”)) 
{ 
function file_put_contents($fn,$fs) { 
$fp=fopen($fn,”w+”); 
fputs($fp,$fs); 
fclose($fp); 
} 
} 
} 
catch(e){
};

另外一篇文章也参考一下,免得以后要参考资料少

PHP实现定时生成HTML网站首页

在开始之前还是提一下三个函数吧:”ob_start()、ob_end_clean()、ob_get_contents()”

ob_start():是打开缓冲区的,就是要把您需要生成的静态文件的内容缓存在这里;

ob_get_contents():是读出缓冲区里的内容,下面有代码为例;

ob_end_clean():这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来;

if(file_exists(“./index.htm”))//看静态index.htm文件是否存在
{
time=time();
//文件修改时间和现在时间相差?的话,直接导向htm文件,否则重新生成htm
if(time-filemtime(“./index.htm”)< 600) { 
header(“Location:classhtml/main.htm”); 
} 
} 
//在你的开始处加入ob_start(); 
ob_start(); 
//首页内容,就是你的动态部分了 
//在结尾加入ob_end_clean(),并把本页输出到一个变量中 
temp=ob_get_contents(); 
ob_end_clean(); 
//写入文件 
fp=fopen(“./index.htm”,’w’); 
fwrite(fp,temp) or die(‘写文件错误’); 
//echo”生成HTML完成!”;

以上就是关于“php定时生成首页静态,PHP静态首页定时更新实现方法”这篇文章的内容,希望分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注3搜网技术频道。