1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| // liste des javascripts a minimiser
$arrFiles = array(
//'js/jquery.min.js' => false,
'js/jquery.js' => true,
'js/script.js' => true
);
// Minimiser les fichiers
$contentNotMin = ''; // code javascript a ne pas minimiser
$content2Min = ''; // code javascript a minimiser
foreach( $arrFiles as $file => $doCompress ) {
if ( file_exists($file) ) {
if ( $doCompress ) {
$content2Min .= file_get_contents($file);
} else {
$contentNotMin .= file_get_contents($file);
}
}
}
if ( ! empty($contentNotMin) || ! empty($content2Min) ) {
$minified = USE_PLUS ? JSMinPlus::minify($content2Min) : JSMin::minify($content2Min);
$content = $contentNotMin.$minified;
// $content = Minify::combine($arrFiles);
// Entetes
$offset = 60 * 60 * 24 * 365;
$expire = time() + $offset;
$modified = time() - $offset;
header('Expires: ' . gmdate('D, d M Y H:i:s', $expire) . 'GMT'); // mise en cache
header("Last-Modified: " . gmdate("D, d M Y H:i:s", $modified) . " GMT");
header('Cache-Control: max-age=28800');
header('content-type:application/x-javascript');
header('content-length:' . strlen($content));
// Affichage
echo $content;
} else {
echo 'Javascript error';
} |
Partager