通过智能自动php脚本结合CSS和JAVASCRIPT

时间:2010-12-09 04:43:22

标签: css php performance load-time minify

this discusson中找到了一个很好的程序,它将CSS文件合并为一个,以加快和加速CSS加载。它工作并将我的所有css文件放入一个小堆中,但页面显示为文本(网页成为css文件,apache认为)可能出错?

我做了什么:我将以下脚本保存为php文件并将其包含在我的页面中,并将URL更改为带有他们的css文件。 css加载正常,但WEBPAGE显示为浏览器中的纯文本!虽然所有的CSS都在那里,其余的PHP也生成了项目,但只有它应该加载的浏览器是纯文本,而不是HTML网站...任何线索?

<?php
  header('Content-type: text/css');
  ob_start("compress");
  function compress($buffer) {
    /* remove comments */
    $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
    /* remove tabs, spaces, newlines, etc. */
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
    return $buffer;
  }

  /* your css files */
  include('master.css');
  include('typography.css');
  include('grid.css');
  include('print.css');
  include('handheld.css');

  ob_end_flush();
?>

此外,一旦工作,可以在以后进行改进甚至提高其力量:

"; }"&gt; "}"(2个字符)
"{ "&gt; "{"(1个字符)
" {"&gt; "{"(1char)
" :"&gt; ":"(1个字符)
": "&gt; ":"(1个字符) " ,"&gt; ","(1个字符)
", "&gt; ","(1个字符) " ("&gt; "("(1个字符)
"( "&gt; "("(1个字符) " )"&gt; ")"(1个字符)
") "&gt; ")"(1个字符)

1 个答案:

答案 0 :(得分:3)

你是如何包含该片段的?

猜测一下,我想这应该是它自己的文件,并通过<link rel="stylesheet" type="text/css" href="./css.php" />或类似文件包含在内。如果你直接粘贴到index.php中,你将它的输出的MIME类型设置为text / css(通过header()),因此是纯文本。