利用PHP压缩CSS、JS 输出 - 风屿岛
利用PHP压缩CSS、JS 输出 - 风屿岛

利用PHP压缩CSS、JS 输出

2020-03-21 超级管理员
AI摘要

文章介绍了通过PHP脚本压缩网站CSS和JavaScript文件的方法,以提升运行速度。主要内容包括使用PHP读取并合并多个CSS或JS文件,通过正则表达式和字符串替换去除不必要的空格、换行和注释,实现代码压缩。同时展示了如何设置HTTP头信息,包括内容类型、缓存控制和过期时间,并利用zlib扩展进行gzip压缩。文章强调压缩后的代码能够显著提高页面加载速度,建议将前端链接指向处理后的PHP文件。

最近发现把网站css JavaScript 压缩之后运行速度快的多
把代码分享一下吧 利用PHP把所有的CSS JS 处理压缩成一个文件输出

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就直接链接PHP文件

 <link rel="stylesheet" type="text/css" href="%E5%A4%84%E7%90%86CSS%E7%9A%84PHP%E6%96%87%E4%BB%B6">

JavaScript
<?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(); //输出压缩后的内容
    }
?>

同理修改文件即可

<script src="%E5%A4%84%E7%90%86JS%E7%9A%84PHP%E6%96%87%E4%BB%B6" type="text/javascript" charset="utf-8"></script>

压缩之后速度会快很多

返回首页
最后更新: 2025-12-23

评论

发表评论

设置

主题

字体连字

HDR