2

我使用本教程http://papermashup.com/caching-dynamic-php-pages-easily/来缓存页面

<?php {
$cachefile = $_SERVER['DOCUMENT_ROOT'].'cache.html';
$cachetime = 4 * 60;
// Serve from the cache if it is younger than $cachetime
if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
    include($cachefile);
} else {
ob_start(); // Start the output buffer
 ?>

/* Heres where you put your page content */


<?php 
// Cache the contents to a file
$cached = fopen($cacheFile, 'w');
fwrite($cached, ob_get_contents());
fclose($cached);
ob_end_flush(); // Send the output to the browser
}
?>

但我收到以下错误

Warning: fopen() [function.fopen]: Filename cannot be empty in

Warning: fwrite(): supplied argument is not a valid stream resource in

Warning: fclose(): supplied argument is not a valid stream resource in

文件的路径是正确的。如果我编辑我自己的文件,但我再次收到错误

4

4 回答 4

6

您的变量名的大小写有问题。PHP 变量名区分大小写。改为(cacheFilecachefileF代替)。

改变这个:

$cached = fopen($cacheFile, 'w');

对此:

$cached = fopen($cachefile, 'w');
于 2012-05-16T17:07:19.737 回答
4

您遇到拼写错误:$cachefile!= $cacheFilePHP 标识符区分大小写。所以决定一个版本并纠正其他出现。

更正的代码:

$cached = fopen($cachefile, 'w');
于 2012-05-16T17:07:05.713 回答
3

你第一次参考$cachefile。你第二次参考$cacheFile。将外壳固定在一个地方或另一个地方,你应该很好。

于 2012-05-16T17:07:14.597 回答
0

对我来说,这是因为我对文件的权限不足,所以我用chmod

于 2021-12-17T04:40:11.380 回答