]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
allowing browser to cache photos now
authorCash Costello <cash.costello@gmail.com>
Sat, 3 Oct 2009 19:26:12 +0000 (19:26 +0000)
committerCash Costello <cash.costello@gmail.com>
Sat, 3 Oct 2009 19:26:12 +0000 (19:26 +0000)
actions/download.php
thumbnail.php

index 0f9835e11b8434ebf0e16cbcb3c0880b4b08e06d..b382c56bc2aadb2216daf15197a7530bc968bf56 100644 (file)
@@ -16,7 +16,7 @@
                $filename = $file->originalfilename;\r
                $mime = $file->mimetype;\r
                \r
-               header("Content-type: $mime");\r
+               header("Content-Type: $mime");\r
                if ($view == "inline")\r
                        header("Content-Disposition: inline; filename=\"$filename\"");\r
                else\r
                \r
                $contents = $readfile->grabFile();\r
                \r
-               if (empty($contents))\r
+               if (empty($contents)) {\r
                        echo file_get_contents(dirname(dirname(__FILE__)) . "/graphics/image_error_large.png" );\r
-               else\r
+               } else {\r
+                       \r
+                       // expires every 60 days\r
+                       $expires = 60 * 60*60*24;\r
+                       \r
+                       header("Content-Length: " . strlen($contents));\r
+                       header("Cache-Control: public", true);\r
+                       header("Pragma: public", true);\r
+                       header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . ' GMT', true);\r
+                       \r
+                       \r
                        echo $contents;\r
+               }\r
                \r
                exit;\r
        }\r
index eaca0849f078bad0f3f66e41300b4af2efe44229..f310aee95e5e31bc96f7442187e8272cbf3780fc 100644 (file)
        if (!$contents) {\r
                forward('mod/tidypics/graphics/' . $error_image);\r
        }\r
+       \r
+       // expires every 14 days\r
+       $expires = 14 * 60*60*24;\r
 \r
-       // Return the thumbnail and exit\r
+       // overwrite header caused by php session code so images can be cached\r
        $mime = $file->getMimeType();\r
-       header("Content-type: $mime");\r
+       header("Content-Type: $mime");\r
+       header("Content-Length: " . strlen($contents));\r
+       header("Cache-Control: public", true);\r
+       header("Pragma: public", true);\r
+       header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . ' GMT', true);\r
+       \r
+       // Return the thumbnail and exit\r
        echo $contents;\r
        exit;\r
 ?>\r