mirror of
https://github.com/vichan-devel/vichan.git
synced 2024-11-29 01:34:31 +01:00
Introduce $config['gzip_static']
This commit is contained in:
parent
fe396efa8f
commit
39d55b6dbb
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2013 Tinyboard Development Group
|
||||
* Copyright (c) 2010-2014 Tinyboard Development Group
|
||||
*/
|
||||
|
||||
if (realpath($_SERVER['SCRIPT_FILENAME']) == str_replace('\\', '/', __FILE__)) {
|
||||
@ -546,6 +546,28 @@ function file_write($path, $data, $simple = false, $skip_purge = false) {
|
||||
if (!fclose($fp))
|
||||
error('Unable to close file: ' . $path);
|
||||
|
||||
/**
|
||||
* Create gzipped file.
|
||||
*
|
||||
* When writing into a file foo.bar and the size is larger or equal to 1
|
||||
* KiB, this also produces the gzipped version foo.bar.gz
|
||||
*
|
||||
* This is useful with nginx with gzip_static on.
|
||||
*/
|
||||
if ($config['gzip_static']) {
|
||||
$gzpath = "$path.gz";
|
||||
|
||||
if ($bytes & ~0x3ff) { // if ($bytes >= 1024)
|
||||
if (file_put_contents($gzpath, gzencode($data), $simple ? 0 : LOCK_EX) === false)
|
||||
error("Unable to write to file: $gzpath");
|
||||
if (!touch($gzpath, filemtime($path), fileatime($path)))
|
||||
error("Unable to touch file: $gzpath");
|
||||
}
|
||||
else {
|
||||
@unlink($gzpath);
|
||||
}
|
||||
}
|
||||
|
||||
if (!$skip_purge && isset($config['purge'])) {
|
||||
// Purge cache
|
||||
if (basename($path) == $config['file_index']) {
|
||||
|
Loading…
Reference in New Issue
Block a user