summaryrefslogtreecommitdiff
path: root/image.php
diff options
context:
space:
mode:
authorBarak Korren <[email protected]>2013-04-02 20:38:07 +0300
committerBarak Korren <[email protected]>2013-04-02 20:38:07 +0300
commit58a2577d48790c79adfd44bcfd662c980ce6cfe4 (patch)
tree523d814ea0b7b6f617fe515b186099c6e83fed72 /image.php
parente470a273cf09562fb2f9c0c899002303f19c8d16 (diff)
parentcc332603431102a682feda22b9cf0093a29f0176 (diff)
Merge branch 'master' of https://github.com/gothfox/Tiny-Tiny-RSS.git
Diffstat (limited to 'image.php')
-rw-r--r--image.php22
1 files changed, 16 insertions, 6 deletions
diff --git a/image.php b/image.php
index 94cb8e817..dcc7d806d 100644
--- a/image.php
+++ b/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.";