如何在PHP中缓存网页?
发布时间:2020-12-13 16:38:48 所属栏目:PHP教程 来源:网络整理
导读:如何在php中缓存网页,以便如果页面没有被更新,则观众应该获得缓存副本? 谢谢你的帮助. PS:我是PHP的初学者 您可以在结束脚本之前实际保存页面的输出,然后在脚本开始时加载缓存. 示例代码: ?php$cachefile = 'cache/'.basename($_SERVER['PHP_SELF']).'.ca
如何在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特定的显示(例如显示成员的栏或什么),因为它们也将被缓存.查看特定缓存的框架(变量或页面的一部分). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |