add optional support for the X-Sendfile header
This commit is contained in:
parent
f2c624a236
commit
2d0838e6d3
1 changed files with 15 additions and 5 deletions
20
image.php
20
image.php
|
@ -27,12 +27,22 @@
|
|||
$filename = CACHE_DIR . '/images/' . $hash . '.png';
|
||||
|
||||
if (file_exists($filename)) {
|
||||
header("Content-type: image/png");
|
||||
$stamp = gmdate("D, d M Y H:i:s", filemtime($filename)). " GMT";
|
||||
header("Last-Modified: $stamp", true);
|
||||
|
||||
readfile($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);
|
||||
readfile($filename);
|
||||
}
|
||||
} else {
|
||||
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
|
||||
echo "File not found.";
|
||||
|
|
Loading…
Reference in a new issue