一个简单的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.ltesting.net