gpt4 book ai didi

php - 如何在 PHP 中缓存网页?

转载 作者:行者123 更新时间:2023-12-03 01:02:59 24 4
gpt4 key购买 nike

如何在 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($cachefile);
echo $c;
exit;
} else {
unlink($cachefile);
}

ob_start();

// all the coding goes here

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

?>

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

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($cachefile);
echo $c;
exit;
} else {
unlink($cachefile);
}

ob_start();
?>

cacheend.php中:

<?php

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

?>

然后只需添加

include('cachestart.php');

在脚本的开头。并添加

include('cacheend.php');

在脚本的末尾。请记住有一个名为 cache 的文件夹并允许 PHP 访问它。

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

关于php - 如何在 PHP 中缓存网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1547381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com