PHP Cache(automatisk cachening av sidor).

Avdelningen för webbrelaterad programmering och grafisk design.
Post Reply
User avatar
thr
Posts: 1242
Joined: 2002-06-26 22:55:24
Location: Skene
Contact:

PHP Cache(automatisk cachening av sidor).

Post by thr »

Pillade ihop ett script för att cache:a all output från en php sida, här följer klassen och under så är en beskrivning av hur du använder den.

Code: Select all

<?php 
class page_cache{ 

   function page_cache($lifetime,$cachedir='',$status='') 
   { 
      $this->_cachedir = $cachedir; 
      $this->_md5 = md5(basename($_SERVER['PHP_SELF'])) . '.cache'; 
      if(@filemtime($cachedir . $this->_md5)+$lifetime > time()) 
         die(file_get_contents($cachedir . $this->md5) . $status); 
      else{ 
         return false; 
         ob_start();} 
   } 
    
   function cache() 
   { 
      if($this->_cachedir != '' && !is_dir($this->_cachedir)) 
         mkdir($this->_cachedir,0777); 
      $fo = fopen($this->_cachedir . $this->_md5,'w'); 
      fputs($fo,ob_get_contents()); 
      fclose($fo); 
      ob_end_flush(); 
   } 
    
}?>
Såhära går användadent till:

Code: Select all

<?php 
include('cache.class.php'); /* inkludera klassen */ 
$cache = & new page_cache(900,'cache/','CACHED'); /* det första argumentet är hur länge cachen ska vara giltlig i sekunder, det andra är vilken katalog cachen ska sparas i (kan lämnas tom eller skrivas som '' för att spara i samma katalog som filen ligger i normalt), det tredje argumentet behövs inte utan det är bara text som skrivs ut efter hela sidan om en giltig cache hittas */ 

/* här följer all kod som normalt skulle köras på sidan, databas anslutningar, utskrifter, etc. etc. etc. */ 

$cache->cache(); 
?> 
User avatar
lillis
Hedersbit
Posts: 6841
Joined: 2002-03-08 18:03:45

Post by lillis »

låter finfint (inte för att jag fattar något) ;)

http://www.64bits.se/forum/viewtopic.php?t=17635

:-*
Post Reply