Reducir ficheros Javascript y CSS con PHP

1 COMENTARIO  -  27/11/2008 -  Clasificado en: , , ,

Un poco en la línea de lo que hacen jsmin-php o minify, este script en Reinhold Weber aprovecha la posibilidad de lectura/volcado de archivos con php y el uso de expresiones regulares para convertir varios archivos CSS en uno sólo y servirlo sin comentarios ni saltos de línea o espacios innecesarios.

<?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();
?>

Siguiendo el mismo procedimiento se podrían comprimir todos los archivos .js en uno sólo. Habría que cambiar el Content-type:

Header("content-type: application/x-javascript");

Con estas prácticas conseguimos por un lado reducir el tamaño de los ficheros que el cliente descargará, lo que significa menos ancho de banda consumido, y por otro lado reducimos el numero de peticiones HTTP, lo que significa una mayor velocidad en la carga de la web.

Si te ha gustado, puedes compartir este post en...
Posts Relacionados
También te puede interesar...
Comentarios
Comentario realizado el 29/12/2008
zandy
Hola

Me pregunto si esta tecnica entra en contradiccion con la de comprimir las paginas... si la pagina viene comprimida, no es necesario hacer cosas como esta..... que tan cerca de la verdad estoy .???

salu2
z\d\y
Deja un comentario

¡Gracias por dejar tu opinión! Por favor procura que tu comentarios sean apropiados respecto al tema tratado en la entrada; que no sean spam, u ofensivos, de otro modo, serán eliminados. Todos los comentarios serán moderados antes de su publicación por lo que su aparición en la web puede verse aplazada un cierto tiempo. Si deseas realizar algún comentario, crítica o sugerencia sobre la propia web puedes hacer a través de la siguiente dirección de correo: webintenta@webintenta.com

Facebook Twitter