< ?php /** * * @var $cache_file_name string file name * @var $age int age in seconds */ class cache { public $cache_file_name; public $age; /** * cache::__construct() * @access public */ public function __construct(){ $this->cache_start(); register_shutdown_function(array($this, "cache_end"), "inside"); } /** * cache::__descruct() * @access public * @return */ public function __descruct(){ $this->cache_end(); } /** * cache::cache_start() * @access public * @return */ public function cache_start(){ global $cache_file_name, $age; $cache_file_name = $_SERVER["DOCUMENT_ROOT"].$_SERVER['REQUEST_URI'] . '_cache'; if (empty($age)){ $age = 600; } if(file_exists($cache_file_name)){ if (filemtime($cache_file_name) + $age > time()) { readfile($cache_file_name); unset($cache_file_name); exit; } } ob_start(); } /** * cache::cache_end() * @access public * @return */ public function cache_end() { global $cache_file_name; if (empty($cache_file_name)){ return; } $str = ob_get_clean(); echo $str; fwrite(fopen($cache_file_name . '_tmp', "w"), $str); rename($cache_file_name . '_tmp',$cache_file_name); } } ?>
Tag: cache
Posts Tagged cache
Archives by Month:
- December 2024
- November 2024
- October 2024
- August 2024
- April 2024
- January 2024
- December 2023
- November 2023
- July 2023
- May 2023
- April 2023
- March 2023
- February 2023
- January 2023
- December 2022
- October 2022
- September 2022
- August 2022
- July 2022
- May 2022
- March 2022
- February 2022
- November 2021
- October 2021
- September 2021
- August 2021
- July 2021
- June 2021
- May 2021
- February 2021
- January 2021
- August 2020
- July 2020
- June 2020
- April 2020
- January 2020
- December 2019
- November 2019
- October 2019
- May 2019
- April 2019
- March 2019
- January 2019
- October 2018
- August 2018
- June 2018
- April 2018
- March 2018
- February 2018
- November 2017
- June 2017
- April 2017
- February 2017
- January 2017
- November 2016
- September 2016
- May 2016
- February 2016
- September 2015
- August 2015
- July 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- July 2014
- June 2014
- April 2014
- January 2014
- December 2013
- August 2013
- July 2013
- June 2013
- May 2013
- April 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- August 2012
- July 2012
- June 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009