c26b93aba5
Signed-off-by: Martin Stone <martin@d7415.co.uk>
54 lines
1.4 KiB
PHP
54 lines
1.4 KiB
PHP
<?php
|
|
set_include_path(dirname(__FILE__) ."/include" . PATH_SEPARATOR .
|
|
get_include_path());
|
|
|
|
require_once "config.php";
|
|
|
|
// backwards compatible wrapper for old-style image caching
|
|
/* if (isset($_GET['url'])) {
|
|
$url = base64_decode($_GET['url']);
|
|
|
|
$filename = CACHE_DIR . '/images/' . sha1($url) . '.png';
|
|
|
|
if (file_exists($filename)) {
|
|
header("Content-type: image/png");
|
|
echo file_get_contents($filename);
|
|
} else {
|
|
header("Location: $url");
|
|
}
|
|
|
|
return;
|
|
} */
|
|
|
|
@$hash = basename($_GET['hash']);
|
|
|
|
if ($hash) {
|
|
|
|
$filename = CACHE_DIR . '/images/' . $hash . '.png';
|
|
|
|
if (file_exists($filename)) {
|
|
/* See if we can use X-Sendfile */
|
|
$xsendfile = false;
|
|
if (function_exists('apache_get_modules') &&
|
|
array_search('mod_xsendfile', apache_get_modules()))
|
|
$xsendfile = true;
|
|
|
|
if ($xsendfile) {
|
|
header("X-Sendfile: $filename");
|
|
header("Content-type: application/octet-stream");
|
|
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
|
|
} else {
|
|
header("Content-type: image/png");
|
|
$stamp = gmdate("D, d M Y H:i:s", filemtime($filename)). " GMT";
|
|
header("Last-Modified: $stamp", true);
|
|
ob_clean(); // discard any data in the output buffer (if possible)
|
|
flush(); // flush headers (if possible)
|
|
readfile($filename);
|
|
}
|
|
} else {
|
|
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
|
|
echo "File not found.";
|
|
}
|
|
}
|
|
|
|
?>
|