使用PHP输出和压缩CSS文件

时间:2012-07-27 07:40:38

标签: 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的生产版本。如果可能的话,请帮我用缓存来做。 Thx提前

1 个答案:

答案 0 :(得分:0)

您可以使用PHP5库minify

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