开放的编程资料库

当前位置:我爱分享网 > PHP教程 > 正文

使用 PHP 快速简单地压缩 CSS

网站的加载时间与其功能一样重要。您可以拥有一个很棒的网站,但谁愿意等待它加载呢? CSS 压缩可以帮助您的网站更快地加载并轻松维护其功能。我创建了一个易于使用的 PHP 文件来压缩您的 CSS 以获得最佳的客户端下载时间。

代码

该过程在两个文件中进行:一个我们称之为 css.css 的 PHP 文件(是的,使用“.css”扩展名)和您目录的 .htaccess文件。

这是 css.css 的 PHP:

$css = '';
$root = $_SERVER['DOCUMENT_ROOT'].'/css/'; //directory where the css lives
$files = explode(',',$_SERVER['QUERY_STRING']);
if(sizeof($files))
{
	foreach($files as $file)
	{
		$css.= (is_file($root.$file.'.css') ? file_get_contents($root.$file.'.css') : '');
	}
}
return str_replace('; ',';',str_replace(' }','}',str_replace('{ ','{',str_replace(array("\r\n","\r","\n","\t",'  ','    ','    '),"",preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!','',$css)))));

css.css 文件获取给定的查询字符串并将其在逗号上分解成一个数组。如果查询字符串中有一些东西(应该有,除非程序员搞砸了),应该用逗号分隔,查询字符串就会被分隔成一个数组。对于数组中的每个字符串,脚本会查找具有匹配名称的 CSS 文件。然后脚本将文件的内容附加到字符串变量 ($css)。一旦所有 CSS 内容都在 $css 变量中,CSS 内容就会被清除掉所有空白。更少的空格和一个文件意味着更快的下载速度,因为只有一个压缩文件请求。

下面是您要放入 .htaccess 文件中的代码,以便 css.css 被视为 PHP 文件:

<FILES css.css>
  SetHandler  application/x-httpd-php
</FILES>

用法

使用 css.css 文件很简单:

<link href="/css/css.css?reset,base,forms,template" rel="stylesheet" type="text/css" media="screen" />

本质上,在上面的示例中,我们希望使用 reset.cssbase.cssforms.css模板.css。如果其中一个文件不存在,则不会添加它们(并且没有错误消息)。

你对我的剧本有什么建议吗?有什么想法可以优化 CSS 吗?

未经允许不得转载:我爱分享网 » 使用 PHP 快速简单地压缩 CSS

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏