1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/softtime-ThinkWechat

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
js.php 1.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
FAITH Отправлено 9 лет назад 6b06289
<?php
/*
load: css, js 静态文件
启用 gz压缩、缓存处理、过期处理、文件合并等优化操作
*/
error_reporting(0);
if(extension_loaded('zlib')){
//检查服务器是否开启了zlib拓展
ob_start('ob_gzhandler');
}
$gettype = 'js';
$allowed_content_types = array('js');
$getfiles = explode(',', strip_tags($_GET['f']));
$offset = 60 * 60 * 24 * 7; //过期7天
if($gettype=='css'){
$content_type = 'text/css';
}elseif($gettype=='js'){
$content_type = 'application/x-javascript';
}
header ("content-type: ".$content_type."; charset: utf-8"); //注意修改到你的编码
// header ( "cache-control: must-revalidate" );
header ( "cache-control: max-age=".$offset );
header( "Last-Modified: " . gmdate ( "D, d M Y H:i:s", time () ) . "GMT");
header ( "Pragma: max-age=".$offset );
header ( "Expires:" . gmdate ( "D, d M Y H:i:s", time () + $offset ) . " GMT" );
set_cache_limit($offset);
ob_start("compress");
function compress($buffer) {//去除文件中的注释
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
return $buffer;
}
function set_cache_limit($second=1){
$second=intval($second);
if($second==0) {
return;
}
$etag=time()."||".base64_encode( $_SERVER['REQUEST_URI'] );
if(!isset($_SERVER['HTTP_IF_NONE_MATCH'])){
header("Etag:$etag",true,200);
return;
}else{
$id = $_SERVER['HTTP_IF_NONE_MATCH'];
}
list( $time , $uri ) = explode ( "||" , $id );
if($time < (time()-$second))
{//过期了,发送新tag
header("Etag:$etag",true,200);
}else
{//未过期,发送旧tag
header("Etag:$id",true,304);
exit(-1);
}
}
foreach($getfiles as $file){
$fileType = strtolower( substr($file, strrpos($file, '.') + 1 ) );
if(in_array($fileType, $allowed_content_types)){
//包含你的全部css文档
readfile($file);
}else{
echo 'not allowed file type:'.$file;
}
}
//输出buffer中的内容,即压缩后的css文件
if(extension_loaded('zlib')){
ob_end_flush();
}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/softtime-ThinkWechat.git
git@gitlife.ru:oschina-mirror/softtime-ThinkWechat.git
oschina-mirror
softtime-ThinkWechat
softtime-ThinkWechat
master