Simple but powerful caching system, written in PHP.
Paste the code below at the start when you want to cache your file:
$cachefile = "change-this.html";
$cachetime = 2628288; // Default is one month, in seconds
// Serve from the cache if it is younger than $cachetime
if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
echo "<p style='display:none'>Cached copy, generated " . date('d/m/Y H:i', filemtime($cachefile)) . " SERVER TIME</p>";
$handle = fopen($cachefile, 'rb');
$buffer = '';
while (!feof($handle)) {
$buffer = fread($handle, 4096);
echo $buffer;
ob_flush();
flush();
}
fclose($handle);
// Place additional code/html to be executed/displayed before exiting
exit;
}
ob_start(); // Start the output buffer
Make sure to set $cachefile
to the proper file and if it's inside a directory, make sure it exists.
After that, include("cache");
at the point, where you want to stop caching the file.
Does it work with larger Cached files? Yes, it does.
Can I put the cache.php
file inside a subdirectory? Yes, you can.
Will it work, if I store that cache file inside a directory? Yes, it works. You just need to properly specify the path.
If you liked this small piece of code, make sure to become a supporter:
Licensed unter the MIT License. See LICENSE.