查看完整版本: 一个简单的cache示例

lily 2007-8-1 22:27

一个简单的cache示例

             <p>// 首先创建"cache"目录 ,用来写文件<br><br>function BZ_cache ($url,$cacheName)&nbsp;&nbsp;<br>{ <br>global $cache ;&nbsp;&nbsp;<br>global $QUERY_STRING ; <br>// 这里你可以按自己的习惯命名&nbsp;&nbsp;<br>$filename = "cache/".$cacheName.",".$QUERY_STRING.".html" ; <br><br>// 这里你还应该测试一下文件的时间,看是否过期<br>//(不过这里没做。呵呵!自己完成吧!) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( file_exists (&nbsp;&nbsp;&nbsp;$filename) )&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readfile ($filename) ; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 1 ; ///&nbsp;&nbsp;Ok i'v send the html page&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br>else&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( ! isset ($cache ) )&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fcontents = join ('', file ($url."?".$QUERY_STRING."&amp;cache=t")); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fp = fopen ($filename , "w"); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fwrite ($fp, $fcontents&nbsp;&nbsp;); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fclose ( $fp) ; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0 ;&nbsp;&nbsp;&nbsp;///&nbsp;&nbsp;i'v to execute the file&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br>}&nbsp;&nbsp;<br>// 在你的<a href="http://www.phpchina.com/javascript:;" onClick="javascript:tagshow(event, 'PHP');" target="_self"><u><strong>PHP</strong></u></a>文件的最开始放入下面一行<a href="http://www.phpchina.com/javascript:;" onClick="javascript:tagshow(event, '%B4%FA%C2%EB');" target="_self"><u><strong>代码</strong></u></a> <br>//&nbsp;&nbsp;if ( BZ_cache ("COMPLETE URL WITHOUT PARAMS" , "AN_IDENTIFIER" ) )&nbsp;&nbsp;&nbsp;exit () ;&nbsp;&nbsp;<br>//记住,这个URL是要完全的,即前面要有http://。但后面不要参数。<br><br>// 网上有一个例子:http://azerclic.labynet.org/doc.php3 <br>// 第一行是&nbsp;&nbsp;<br>// if ( BZ_cache ("http://azerclic.labynet.org/doc.php3" , "doc" ) )&nbsp;&nbsp;&nbsp;exit () ;&nbsp;&nbsp;<br>// 你会看到cached文件在 http://azerclic.labynet.org/cache/ <br>// That's all&nbsp;&nbsp;<br>//好运!<br>//我估计在WIN32下没问题,在LINUX下还要考虑权限问题的,因为一般都没有写权限。<div>
页: [1]
查看完整版本: 一个简单的cache示例
PageRank