这是我正在使用的代码:
<?php
$interval = 5 * 60;
$filename = "cache/".basename( rtrim( $_SERVER["REQUEST_URI"], '/' ) ).".cache";
if ( file_exists( $filename ) && (time() - $interval) < filemtime( $filename ) ) {
readfile( $filename );
exit();
}
ob_start();
include 'dynamicpage.php';
?>
<?php
// More page generation code goes here
$buff = ob_get_contents(); // Retrive the content from the buffer
// Write the content of the buffer to the cache file
$file = fopen( $filename, "w" );
fwrite( $file, $buff );
fclose( $file );
ob_end_flush(); // Display the generated page.
?>
目前,如果缓存页面超过 5 分钟,此脚本将生成一个新的缓存文件来替换旧的缓存文件。有什么办法可以先显示旧缓存并在后台生成新的缓存页面?我的主机很弱,所以它需要永远等待页面完成加载。