<? /** * 进行文件刷静态处理. * * 这里是详细说明. * @author 徐兴 * @package lib * @version v1.0 * @copyright juwangTech. * */ class obClass { /** * * * @var 目标静态文件 $destFile * @var 目标旗帜 $lifeFlag * @var 文件句柄s $fp */ private $destFile; private $lifeFlag; private $fp; function obClass() { } //加载文件 function loadFile( $destFile ) { $this->destFile = $destFile; //$this->lifeFlag = time() - fileatime($this->destFile); } /** * 检查文件的存在时间. * * @param 所指定文件的存在时间 $time * @return bool */ function check( $time ) { if(file_exists( $this->destFile )) { $this->lifeFlag = $time + fileatime( $this->destFile ) - time(); } else { $this->lifeFlag = -1; } if($this->lifeFlag > 0) { if(DEBUG == '1') echo "此文件在指定生存期内,不进行刷静态"; return false; } else { if(DEBUG == '1') echo "开始刷静态文件".$this->destFile."<hr/>"; ob_start(); return true; } } /** * 将缓冲写入到文件中去.. * */ function write() { if( $this->lifeFlag > 0 ) exit(); $this->fp = fopen( $this->destFile , "w" ); fwrite( $this->fp , ob_get_contents() ); ob_clean(); if( DEBUG == '1' ) echo "开始刷静态文件".$this->destFile."<hr/>"; fclose( $this->fp ); } } ?>
<? if(!defined("DEBUG")) define("DEBUG","1"); require("../obClass.php"); /** ob 类的使用流程* * 1一新建一个ob对象。 * 2二加载需要ob的文件 * 3判断文件生存时间,写入要刷表态的内容,刷静态处理. */ //一新建一个ob对象 $ob = new obClass(); // 二加载需要ob的文件 for($i = 0;$i < 100; $i++) { $dest_file = "/home/httpd/web/static/".rand(0,100).".html"; $ob->loadFile($dest_file); //3判断文件生存时间,写入要刷表态的内容,刷静态处理. if($ob->check(0)) { echo "$dest_file"; echo ""; $ob->write(); } } ?>