1
0
mirror of https://github.com/mosbth/cimage.git synced 2025-07-31 13:40:08 +02:00

One can now add a HTTP header for Cache-Control in the config file, #109.

This commit is contained in:
Mikael Roos
2015-10-21 01:12:10 +02:00
parent db5ce71926
commit ee9fdb8474
4 changed files with 53 additions and 2 deletions

View File

@@ -63,6 +63,13 @@ class CImage
/**
* Add HTTP headers for outputing image.
*/
private $HTTPHeader = array();
/** /**
* Default background color, red, green, blue, alpha. * Default background color, red, green, blue, alpha.
* *
@@ -2422,11 +2429,28 @@ class CImage
/**
* Add HTTP header for putputting together with image.
*
* @param string $type the header type such as "Cache-Control"
* @param string $value the value to use
*
* @return void
*/
public function addHTTPHeader($type, $value)
{
$this->HTTPHeader[$type] = $value;
}
/** /**
* Output image to browser using caching. * Output image to browser using caching.
* *
* @param string $file to read and output, default is to use $this->cacheFileName * @param string $file to read and output, default is to
* @param string $format set to json to output file as json object with details * use $this->cacheFileName
* @param string $format set to json to output file as json
* object with details
* *
* @return void * @return void
*/ */
@@ -2463,6 +2487,10 @@ class CImage
header('Last-Modified: ' . $gmdate . " GMT"); header('Last-Modified: ' . $gmdate . " GMT");
} }
foreach($this->HTTPHeader as $key => $val) {
header("$key: $val");
}
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $lastModified) { if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $lastModified) {
if ($this->verbose) { if ($this->verbose) {

View File

@@ -8,6 +8,7 @@ Revision history
v0.7.6* (2015-10-20) v0.7.6* (2015-10-20)
------------------------------------- -------------------------------------
* One can now add a HTTP header for Cache-Control in the config file, #109.
* Added hook in img,php before CImage is called, #123. * Added hook in img,php before CImage is called, #123.
* Added configuration for default jpeg quality and png compression in the config file, #107. * Added configuration for default jpeg quality and png compression in the config file, #107.
* Strip comments and whitespace in imgs.php, #115. * Strip comments and whitespace in imgs.php, #115.

View File

@@ -928,6 +928,18 @@ $cachePath = getConfig('cache_path', __DIR__ . '/../cache/');
/**
* Get the cachepath from config.
*/
$cacheControl = getConfig('cache_control', null);
if ($cacheControl) {
verbose("cacheControl = $cacheControl");
$img->addHTTPHeader("Cache-Control", $cacheControl);
}
/** /**
* Prepare a dummy image and use it as source image. * Prepare a dummy image and use it as source image.
*/ */

View File

@@ -140,6 +140,16 @@ return array(
/**
* Add header for cache control when outputting images.
*
* Default value:
* cache_control: null, or set to string
*/
//'cache_control' => "max-age=86400",
/** /**
* The name representing a dummy image which is automatically created * The name representing a dummy image which is automatically created
* and stored at the defined path. The dummy image can then be used * and stored at the defined path. The dummy image can then be used