标签搜索

利用PHP压缩CSS、JS 输出

墨惜
2022-10-29 / 0 评论 / 40 阅读 / 正在检测是否收录...

前言

利用PHP把所有的CSS JS 处理压缩成一个文件输出

PHP处理CSS

<?php  
    header('Content-type: text/css');  
    ob_start("compress");  
    function compress($buffer) {  
        $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);  
        $buffer = str_replace(array(" 
        ", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);  
        return $buffer;  
    }  
    include('第一个CSS文件');   //例如当前PHP文件下的 ./main.js
    include('第二个CSS文件');   //复制调用更多JS文件
    ob_end_flush();  //输出压缩后的内容
?>

CSS调用

 <link rel="stylesheet" type="text/css" href="处理CSS的PHP文件地址"/>

PHP处理JS

<?php
    error_reporting(E_ALL & ~E_NOTICE);
    if(extension_loaded('zlib')){
        ob_start('ob_gzhandler');
    }
    header ("content-type:application/x-javascript; charset: UTF-8");
    header ("cache-control: must-revalidate");
    $offset = 60 * 60 * 24; //js文件的距离现在的过期时间,这里设置为一天
    $expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
    header ($expire);
    ob_start("compress");
    function compress($buffer) {
        $buffer = preg_replace('/\/\/.*/','', $buffer);
        $buffer = str_replace(array("
        ", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
        return $buffer;
    }
    include('js文件一'); //例如当前PHP文件下的main.js
    include('js文件二'); //复制调用更多JS文件
    if(extension_loaded('zlib')){
        ob_end_flush(); //输出压缩后的内容
    }
?>

JS调用

<script src="处理JS的PHP文件地址" type="text/javascript" charset="utf-8"></script>
本文共 124 个字数,平均阅读时长 ≈ 1分钟
0

打赏

海报

正在生成.....

评论 (0)

取消