백엔드 개발 PHP 튜토리얼 php文件缓存实例代码_PHP教程

php文件缓存实例代码_PHP教程

Jul 20, 2016 am 11:09 AM
php 암호 사용 할 수 있다 존재하다 실제 넓게 애플리케이션 지도 시간 문서 은닉처

php教程文件缓存实例代码
缓存在实际使用当中应用很广泛,可以减轻对服务器数据库教程的访问,提高运行速度。目前很多cms内容管理系统中频繁使用缓存机制来提高系统运行的效率
cache.php 代码如下:
php代码
 
/*
用户需要事先定义的常量:
_cachepath_        模板缓存路径
_cacheenable_        自动缓存机制是否开启,未定义或为空,表示关闭自动缓存机制
_recachetime_        自动重新缓存间隔时间,单位为秒,未定义或为空,表示关闭自动重新缓存
*/ 
 
class cache { 
 
var $cachefile; 
var $cachefilevar; 
 
function cache() { 
        //生成当前页的cache组文件名 $this->cachefilevar 及文件名 $this->cachefile 
        //动态页的参数不同对应的cache文件也不同,但是每一个动态页的所有cache文件都有相同的文件名,只是扩展名不同 
        $s=array(".","/");$r=array("_",""); 
        $this->cachefilevar=str_replace($s,$r,$_server["script_name"])."_".$_get[_actionvar_]; 
        $this->cachefile=$this->cachefilevar.".".md5($_server["request_uri"]); 

 
//删除当前页/模块的缓存 
function delete() { 
        //删除当前页的缓存 
        $d = dir(_cachepath_); 
        $strlen=strlen($this->cachefilevar); 
        //返回当前页的所有cache文件组 
        while (false !== ($entry = $d->read())) { 
                    if (substr($entry,0,$strlen)==$this->cachefilevar) { 
                            if (!unlink(_cachepath_."/".$entry)) {echo "cache目录无法写入";exit;} 
                    } 
            } 

 
//判断是否已cache过,以及是否需要cache 
function check() { 
        //如果设置了缓存更新间隔时间 _recachetime_ 
        if (_recachetime_+0>0)        { 
                //返回当前页cache的最后更新时间 
                $var=@file(_cachepath_."/".$this->cachefilevar);$var=$var[0]; 
                //如果更新时间超出更新间隔时间则删除cache文件 
                if (time()-$var>_recachetime_) { 
                        $this->delete();$ischage=true; 
                } 
        } 
        //返回当前页的cache 
        $file=_cachepath_."/".$this->cachefile; 
        //判断当前页cache是否存在 且 cache功能是否开启 
        return (file_exists($file) and _cacheenable_ and !$ischange); 

 
//读取cache 
function read() { 
        //返回当前页的cache 
        $file=_cachepath_."/".$this->cachefile; 
        //读取cache文件的内容 
        if (_cacheenable_) return readfile($file); 
        else return false; 

 
//生成cache 
function write($output) { 
        //返回当前页的cache 
        $file=_cachepath_."/".$this->cachefile; 
        //如果cache功能开启 
        if (_cacheenable_) { 
                //把输出的内容写入cache文件 
                fopen($file,'w'">$fp=@fopen($file,'w'); 
                if (!@fputs($fp,$output)) {echo "模板cache写入失败";exit;} 
                @fclose($fp); 
                //如果设置了缓存更新间隔时间 _recachetime_ 
                if (_recachetime_+0>0) { 
                        //更新当前页cache的最后更新时间 
                        $file=_cachepath_."/".$this->cachefilevar; 
                        $fp=@fopen($file,'w'); 
                        if (!@fwrite($fp,time())) {echo "cache目录无法写入";exit;} 
                        @fclose($fp); 
                } 
        } 

 

?> 
使用过程:
php代码
        define("_cachepath_","./cache/"); 
        define("_cacheenable_","1"); 
        define("_recachetime_","43200"); 
        include('cache.php'); 
        $cache=new cache(); 
        if ($cache->check()) { 
        $template=$cache->read(); 
                }else { 
                ob_start(); 
                ob_implicit_flush(0); 
        ?> 
                                  页面内容。。。。 
        $template = ob_get_contents(); 
        $cache->write($template); 
        } 
        ?> 


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/444788.htmlTechArticlephp教程文件缓存实例代码 缓存在实际使用当中应用很广泛,可以减轻对服务器数据库教程的访问,提高运行速度。目前很多cms内容管理系统...
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

CakePHP 날짜 및 시간

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

CakePHP 프로젝트 구성

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

CakePHP 파일 업로드

CakePHP 라우팅 CakePHP 라우팅 Sep 10, 2024 pm 05:25 PM

CakePHP 라우팅

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP 토론

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP 빠른 가이드

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

See all articles