PHP

Você está em: Home » Desenvolvimento » PHP » 3 maneiras de comprimir arquivos CSS usando o PHP

« Voltar

3 maneiras de comprimir arquivos CSS usando o PHP

20 de July de 2009 - 22:25


Quando você está usando ou criando um design sofisticado e começa a criar um monte de arquivo CSS e estes se tornam longos, a partir de um certo momento ele vai consumir um tempo para carregar. E é justamente este tempo que você pode reduzir para que seu site abra rapidamente.

Pesquisei e encontrei 3 maneiras interessantes (e fáceis) de comprimir arquivos CSS usando o PHP.

 

Método 1

Neste método você precisa renomear o arquivo .css para .css.php e não esqueça de renomear também na chamada do CSS no seu arquivo HTML. Desta forma:

<link rel="stylesheet" type="text/css" media="screen" href="style.css.php"/>

Depois de renomear os seus arquivos CSS, edite cada um deles colocando no topo (na primeira linha) o seguinte código PHP:

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

Depois, coloque na última linha do seu arquivo CSS o seguinte código:

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

Apenas isso!

 

Método 2

Basicamente, este método tem o mesmo conceito do anterior, porém neste você só precisa inserir o código na primeira linha do seu CSS.

Primeiro renomeie o arquivo .css para .css.php e na primeira linha do arquivo insira o código:

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

Um pouco mais simples do Método 1, pois neste você não precisa ficar editando o topo e rodapé do arquivo. E você pode isolar este código em um arquivo PHP e depois usar um include() e colar em todos os seus .css.php.

 

Método 3

Este não mistura PHP com CSS (ufa). Neste método você cria um arquivo “estilos.php” e nele você chama os CSS que você quer aplicar na página.

O código abaixo é o que deve estar no seu arquivo HTML para chamar seus CSS:

<link rel="stylesheet" type="text/css" media="screen" href="estilos.php"/>

E dentro do seu arquivo “estilos.php” coloque o seguinte código:

<?php

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

  /* seus arquivos CSS */
  include('home.css');
  include('interna.css');
  include('secao.css');

  ob_end_flush();

?>

No código acima a única coisa que você deve mudar são as linhas de include(), para os seus CSS correspondentes.

Lembre-se que neste exemplo o arquivo “estilos.php” está no mesmo diretório que seus arquivos .css, caso contrário você deve colocar o caminho correto.

O que você achou deste conteúdo?

  • Bom
  • Ruim
 

  • del.icio.us
  • Digg
  • reddit
  • StumbleUpon
  • Technorati
 

Comentários (3)

frankzeffi comentou 2 anos atrás
excepcional! finalmente achei o que procurava.
Felipe Gabriel comentou 3 anos atrás
Parabéns ! muito bom, realmente muito util, Abraços!
DJ Jorginho Mix comentou 3 anos atrás
Muito interessante!! Parabéns pelo artigo de ótima utilidade e pelo belo trabalho do novo design do WM Online! Parabéns a todos!

Comente

 

Trocar imagem

 

Importante: Os comentários publicados através deste website são de exclusiva e integral responsabilidade de seus autores.

publicidade

Autor

Leandro Guedes

Leandro Guedes

Proprietário do site Webmasters Online e um adorador de novas tecnologias.

publicidade

IMD Auditoria