Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / PHP

Caching Output in PHP

4.44/5 (14 votes)
23 Dec 2009CPOL 36.8K  
Introduction...

Introduction



High-traffic sites can often benefit from caching of pages, to save processing of the same data over and over again.

Using the Code



Put the first function cache_start in the beginning of php script and the second cache_end in the end of script.

$_time : cache time
$dir : directory to cache files

function cache_start($_time, $dir)
{
  $cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html';
  $cachetime = $_time;
  ob_start();

  if(file_exists($cachefile) && (time( )-$cachetime < filemtime($cachefile)))
  {
    include($cachefile);
    ob_end_flush();
    exit;
  }
}

function cache_end($dir)
{
  $cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html';
  $fp = fopen($cachefile, 'w');
  fwrite($fp, ob_get_contents());
  fclose($fp);
  ob_end_flush();
}

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)