我正在使用本教程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
文件的路径是正确的。如果我编辑文件我的自我包括但我再次得到错误
答案 0 :(得分:6)
您的变量名称大小写有问题。 PHP变量名称区分大小写。将cacheFile
更改为cachefile
(使用较小的 F )。
改变这个:
$cached = fopen($cacheFile, 'w');
对此:
$cached = fopen($cachefile, 'w');
答案 1 :(得分:4)
您遇到拼写错误:$cachefile
!= $cacheFile
PHP标识符区分大小写。因此决定使用一个版本并更正其他版本。
更正代码:
$cached = fopen($cachefile, 'w');
答案 2 :(得分:3)
第一次引用$cachefile
时。第二次引用$cacheFile
。将外壳固定在一个地方或另一个地方你应该很好。