php - 使用 PHP 输出和压缩 CSS 文件

标签 php css caching compression obfuscation

每当用户像这样进入页面时,我都会从文件中生成 CSS:

<?php

header("Content-type: text/css");
$styles = array(
    'default',
    'reset',
    'notifybar',
    'jqui'
);
if (isset($_GET['page'])) {
    if (file_exists('styles/' . trim($_GET['page']) . '.css'))
        $styles [] = $_GET['page'];
    switch ($_GET['page']) {
        case "main":
            $styles [] = "treeview";
            $styles [] = "buttons";
            $styles [] = "wmd";
            $styles [] = "qa";
            $styles [] = "pretify";
            $styles [] = "code";
            $styles [] = "msgBoxes";
            break;
        case "payments":
            $styles [] = "tables";
            break;
    }
}

foreach ($styles as $style) {
    include 'styles/' . $style . '.css';
}
?>

HTML 是这样获取 CSS 的

<link rel="stylesheet" href="design/css.php?page=<?= $pgdata['token'] ?>" type="text/css" media="screen" /> 

我有两个问题:

  1. 我可以缓存 css 文件以获得更好的性能吗?如果是,那么如何?
  2. 如何在输出过程中压缩 css 文件?我的意思是像混淆:删除空换行符、空格……换句话说,创建 css 的生产版本。如果可能的话,帮我用缓存来做。提前致谢

最佳答案

您可以使用 PHP5 库 minify .

它确实缩小、缓存和连接 JS 和 CSS 文件,所以它可能是解决方案。 这是有关如何实现它的演练:http://www.mrclay.org/2008/09/19/minify-21-on-mrclayorg/

关于php - 使用 PHP 输出和压缩 CSS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11683470/

相关文章:

php - 从雅虎视频中提取元标签

php - 将 Url 列表转换为 ip?

php - 变量变量处理顺序: changes in PHP 7

javascript - Bootstrap Adminlte 模板 - 在菜单上创建子项时自动折叠不起作用

c# - 为什么 MemoryCache 中的滑动过期行为如此奇怪?

java - 在 Java 中收缩 LinkedHashMap

php - 限制 Laravel 5 分页链接

jquery - 平滑滚动 jquery 不工作

css - 如何覆盖 CSS 规则?

javascript - JS中频繁调用函数初始化数组的效率