21,886
社区成员
发帖
与我相关
我的任务
分享
<?
/**
* 进行文件刷静态处理.
*
* 这里是详细说明.
* @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();
//二加载需刷静态的文件
$dest_file = "index.html";
$ob->loadFile($dest_file);
if($ob->check(0))
{
/*****
* 把你的index.php放到这里就OK了.
* 把你的index.php放到这里就OK了.
* 把你的index.php放到这里就OK了.
* 把你的index.php放到这里就OK了.
*/
$ob->write();
}
}
?>