如何在PHP中缓存网页?

前端之家收集整理的这篇文章主要介绍了如何在PHP中缓存网页?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在PHP中缓存网页,以便如果页面没有被更新,则观众应该获得缓存副本?

谢谢你的帮助.@H_502_2@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特定的显示(例如显示成员的栏或什么),因为它们也将被缓存.查看特定缓存的框架(变量或页面的一部分).

猜你在找的PHP相关文章