如何在PHP中缓存网页?

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

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

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

示例代码

  1. <?PHP
  2.  
  3. $cachefile = 'cache/'.basename($_SERVER['PHP_SELF']).'.cache'; // e.g. cache/index.PHP.cache
  4. $cachetime = 3600; // time to cache in seconds
  5.  
  6. if(file_exists($cachefile) && time()-$cachetime <= filemtime($cachefile)){
  7. $c = @file_get_contents($cf);
  8. echo $c;
  9. exit;
  10. }else{
  11. unlink($cachefile);
  12. }
  13.  
  14. ob_start();
  15.  
  16. // all the coding goes here
  17.  
  18. $c = ob_get_contents();
  19. file_put_contents($cachefile);
  20.  
  21. ?>

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

在cachestart.PHP中:

  1. <?PHP
  2. $cachefile = 'cache/'.basename($_SERVER['PHP_SELF']).'.cache'; // e.g. cache/index.PHP.cache
  3. $cachetime = 3600; // time to cache in seconds
  4.  
  5. if(file_exists($cachefile) && time()-$cachetime <= filemtime($cachefile)){
  6. $c = @file_get_contents($cf);
  7. echo $c;
  8. exit;
  9. }else{
  10. unlink($cachefile);
  11. }
  12.  
  13. ob_start();
  14. ?>

在cacheend.PHP中:

  1. <?PHP
  2.  
  3. $c = ob_get_contents();
  4. file_put_contents($cachefile);
  5.  
  6. ?>

然后只需添加

  1. include('cachestart.PHP');

在你的脚本开始.并添加

  1. include('cacheend.PHP');

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

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

猜你在找的PHP相关文章