一個簡單的cache示例
發表于:2007-07-14來源:作者:點擊數:
標簽:
// 首先創建cache目錄 ,用來寫文件 function BZ_cache ($url,$cacheName) { global $cache ; global $QUERY_STRING ; // 這里你可以按自己的習慣命名 $filename = cache/.$cacheName.,.$QUERY_STRING..html ; // 這里你還應該 測試 一下文件的時間,看是否
// 首先創建"cache"目錄 ,用來寫文件
function BZ_cache ($url,$cacheName)
{
global $cache ;
global $QUERY_STRING ;
// 這里你可以按自己的習慣命名
$filename = "cache/".$cacheName.",".$QUERY_STRING.".html" ;
// 這里你還應該
測試一下文件的時間,看是否過期
//(不過這里沒做。呵呵!自己完成吧?。?
if ( file_exists ( $filename) )
{
readfile ($filename) ;
return 1 ; /// Ok i'v send the html page
}
else
{
if ( ! isset ($cache ) )
{
$fcontents = join ('', file ($url."?".$QUERY_STRING."&cache=t"));
$fp = fopen ($filename , "w");
fwrite ($fp, $fcontents );
fclose ( $fp) ;
return 0 ; /// i'v to execute the file
}
}
}
// 在你的
PHP文件的最開始放入下面一行代碼
// if ( BZ_cache ("COMPLETE URL WITHOUT PARAMS" , "AN_IDENTIFIER" ) ) exit () ;
//記住,這個URL是要完全的,即前面要有http://。但后面不要參數。
// 網上有一個例子:http://azerclic.labynet.org/doc.php3
// 第一行是
// if ( BZ_cache ("http://azerclic.labynet.org/doc.php3" , "doc" ) ) exit () ;
// 你會看到cached文件在 http://azerclic.labynet.org/cache/
// That's all
//好運!
//我估計在WIN32下沒問題,在
LINUX下還要考慮權限問題的,因為一般都沒有寫權限。
原文轉自:http://www.anti-gravitydesign.com