加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何在PHP中缓存网页?

发布时间:2020-12-13 16:38:48 所属栏目:PHP教程 来源:网络整理
导读:如何在php中缓存网页,以便如果页面没有被更新,则观众应该获得缓存副本? 谢谢你的帮助. PS:我是PHP的初学者 您可以在结束脚本之前实际保存页面的输出,然后在脚本开始时加载缓存. 示例代码: ?php$cachefile = 'cache/'.basename($_SERVER['PHP_SELF']).'.ca
如何在php中缓存网页,以便如果页面没有被更新,则观众应该获得缓存副本?

谢谢你的帮助.
PS:我是PHP的初学者

您可以在结束脚本之前实际保存页面的输出,然后在脚本开始时加载缓存.

示例代码:

<?php

$cachefile = 'cache/'.basename($_SERVER['PHP_SELF']).'.cache'; // e.g. cache/index.php.cache
$cachetime = 3600; // time to cache in seconds

if(file_exists($cachefile) && time()-$cachetime <= filemtime($cachefile)){
  $c = @file_get_contents($cf);
  echo $c;
  exit;
}else{
  unlink($cachefile);
}

ob_start();

// all the coding goes here

$c = ob_get_contents();
file_put_contents($cachefile);

?>

如果你有很多页面需要这个缓存,你可以这样做:

在cachestart.php中:

<?php
$cachefile = 'cache/'.basename($_SERVER['PHP_SELF']).'.cache'; // e.g. cache/index.php.cache
$cachetime = 3600; // time to cache in seconds

if(file_exists($cachefile) && time()-$cachetime <= filemtime($cachefile)){
  $c = @file_get_contents($cf);
  echo $c;
  exit;
}else{
  unlink($cachefile);
}

ob_start();
?>

在cacheend.php中:

<?php

$c = ob_get_contents();
file_put_contents($cachefile);

?>

然后只需添加

include('cachestart.php');

在你的脚本开始.并添加

include('cacheend.php');

在脚本的最后.记住要有一个名为缓存的文件夹,并允许PHP访问它.

还要记住,如果您正在进行全页缓存,则您的页面不应具有SESSION特定的显示(例如显示成员的栏或什么),因为它们也将被缓存.查看特定缓存的框架(变量或页面的一部分).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读