文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>用缓存实现静态页面的测试

用缓存实现静态页面的测试

时间:2005-10-19  来源:manbuzhe0301

一段简单的代码,实现静态页面的生成。尽管如此,它体现的是一种思想。
function CreateShtml()
    {
        ob_start(array("callback_CreateShtml","callback_GoToShtml"));
    }
    function callback_CreateShtml($buffer)
    {
        $page = intval(@$_REQUEST["page"]);
        $fileName = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . "/" . basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm";
        $fp = fopen($fileName,"wb");
        fwrite($fp,$buffer);
        fclose($fp);
        return $buffer;
    }
    function callback_GoToShtml($buffer)
    {
        $page = intval(@$_REQUEST["page"]);
        $fileName = basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm";
        header("location:" . $fileName);
        return $buffer;
    }
    function GoToShtml()
    {
        $page = intval(@$_REQUEST["page"]);
        $fileName = basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm";
        if(file_exists($fileName))
            header("location:" . $fileName);
    }
   
    function DeleteShtml($fileName=NULL)
    {
        if(is_null($fileName))
            $fileName = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF'];
            
        if($fileName[0]=="/")
            $fileName = $_SERVER['DOCUMENT_ROOT'] . $fileName;
        $path = dirname($fileName);
        $dir = dir($path);
        $patten = "/^" . basename($fileName, ".php") . "(_[0-9]+)?.htm/";
        while(($entry = $dir->read())!==false)
        {
            if(is_file($path . "/" .$entry) && preg_match($patten,$entry))
                unlink ($path . "/" . $entry);
        }
    }
   
    CreateShtml();
    echo "这是静态生成的页面!$page";
    GoToShtml();
    DeleteShtml();
?>


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载