前端web中css样式文件如果压缩后再进行传输,可以大大的加快网页的载入速度同时也可以节省服务器的宽带资源,下面提供了两种php压缩css文件的方法,各位都可以尝试一下。
php直接压缩css文件
在后台可以使用单独的一个php文件对所有的css样式文件进行压缩处理,只需要去除css代码中的空格,换行,注释等等!
php代码:
<?php header('Content-type: text/css'); ob_start("compress_css"); function compress_css ($buffer) { //删除注释 $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer); //删除空格,换行等 $buffer = str_replace(array("\r", "\n", "\t", ' ', ' ', ' '), '', $buffer); return $buffer; } //引入CSS文件 include('style_one.css'); include('style_two.css'); ob_end_flush();
html前端调用
由于php文件利用的缓冲区进行的压缩,在前端的web页中需要直接调用php文件,如下面的代码!
<link rel="stylesheet" rel="nofollow" href="style.php">
php主动压缩css文件的方法
上面那种php压缩css文件的方法,只有前端网页被访问时压缩css文件的php文件才会被动的对CSS文件进行压缩,但如果访客多的情况下也会占用一些服务器的资源。为了避免这种情况,我们可以在服务上主动的对CSS文件进行压缩,让网页直接调用被压缩好的CSS文件!
php代码:
先定义一个压缩CSS文件的函数
此函数有两个传值,分别为未压缩css文件的路径以及压缩后CSS文件的生成路径!
//定义一个压缩CSS文件的函数 function compress_css($css_back,$css_new) { //得到未压缩CSS文件的内容 $str = @file_get_contents($css_back); //删除注释 $str = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $str); //删除空格,换行等 $str = str_replace(array("\r", "\n", "\t", ' ', ' ', ' '), '', $str); //将压缩后的css文件内容写入到一个新的CSS文件中 @file_put_contents($css_new,$str); }
函数调用:
$no_compress = 'style_back.css'; //未压缩CSS文件的路径带文件名 $new_compress = 'style.css'; //生成压缩CSS文件的路径带文件名 //执行 compress_css($no_compress,$new_compress )
PS:上面只是一个主动压缩CSS文件的大概示例 ,生成了压缩文件后,前端只要调用压缩好的css文件即可!
以上就是php如何实现压缩css文件的方法。給自己一個微笑,說自己很好!你就是自己的神!更多关于php如何实现压缩css文件的方法请关注haodaima.com其它相关文章!