Moin!
So! Das will ich jetzt wissen, was hast Du da gebaut!
Bitteschön. Aber ohne Kommentare:
function TestAndSendCache() {
if (is_dir('data/cache/')) {
$CacheDir='data/cache/';
} elseif (is_dir('../data/cache/')) {
$CacheDir='../data/cache/';
}
if (! isset($_SERVER['HTTP_ACCEPT_ENCODING'])) {
$_SERVER['HTTP_ACCEPT_ENCODING']=false;
}
if (false===strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
$CacheFile=$CacheDir.md5($_SERVER["REQUEST_URI"]);
if (is_file($CacheFile) && is_readable($CacheFile)) {
readfile($CacheFile);
exit;
}
} else {
$CacheFile=$CacheDir.md5($_SERVER["REQUEST_URI"]).'.gz';
if (is_file($CacheFile) && is_readable($CacheFile)) {
header('Vary: Accept-Encoding');
header('Content-Encoding: gzip');
readfile($CacheFile);
exit;
}
}
}
function WriteCache($html) {
if (is_dir('data/cache/')) {
$CacheDir='data/cache/';
} elseif (is_dir('../data/cache/')) {
$CacheDir='../data/cache/';
}
$CacheFile=$CacheDir.md5($_SERVER["REQUEST_URI"]);
if (! file_put_contents($CacheFile,$html."\n".'<!-- cached: '.date('Y-m-d H:i:s').' -->')) {
return false;
}
$CacheFile=$CacheDir.md5($_SERVER["REQUEST_URI"]) . '.gz';
return file_put_contents($CacheFile,gzencode($html."\n".'<!-- zipped and cached: '.date('Y-m-d H:i:s').' -->'));
}
function fastixClearCache () {
if (is_dir('../data/cache/')) {
$DIR=dir('../data/cache/');
} else {
die('<div>Fatal in function fastixClearCache(): Chache-Verzeichnis ungültig.</div>');
}
while (false !== ($entry = $DIR->read())) {
if ($entry != '.' && $entry != '..') {
unlink ('../data/cache/'.$entry);
}
}
}
Die Funktion fastixClearCache muss nur aus dem Administrationsverzeichnis heraus aufgerufen werden können.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix