Foros del Web » Programando para Internet » PHP »

Comprimir css desde php

Estas en el tema de Comprimir css desde php en el foro de PHP en Foros del Web. hola que tal, les escribo por que deseo comprimir varios archivos css mediante un archivo en php, estoy usando el segundo metodo que se explica ...
  #1 (permalink)  
Antiguo 02/06/2011, 13:39
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 15 años, 5 meses
Puntos: 66
Pregunta Comprimir css desde php

hola que tal, les escribo por que deseo comprimir varios archivos css mediante un archivo en php, estoy usando el segundo metodo que se explica en esta pagina.

http://www.anieto2k.com/2008/12/22/3...css-desde-php/

todo lo hace bien, el problema es que no se cachea el css y siempre lo vuelve a cargar lo que yo quiero es que lo cargue desde la cache del navegador para que la velocidad de carga del sitio mejore un poco.

gracias anticipadas. saludos
__________________
Extension Google Chrome
dar las gracias no cuesta nada :D
  #2 (permalink)  
Antiguo 02/06/2011, 14:10
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Comprimir css desde php

Si lo haces tal cual, por lo que veo, expresamente tiene un sistema para no "cachear". Si quieres que se quede encaché, mejor no comprimas y deja tal cual, el navegador por si sólo "cacheara" y sólo tardará un poco en cargar la primera vez.
  #3 (permalink)  
Antiguo 02/06/2011, 14:12
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: Comprimir css desde php

entiendo que el navegador sin especificar nada cachea los archivos, pero son muchos aveces hasta 10 css y 8 js, necesito una forma de unificarlos en un solo archivo pero que sigan "cacheandose" o com ose diga XD, que header le tendria que poner para lograr eso?
__________________
Extension Google Chrome
dar las gracias no cuesta nada :D
  #4 (permalink)  
Antiguo 02/06/2011, 14:34
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Comprimir css desde php

Pero entonces ¿son diferentes CSS en diferentes páginas?

Es decir, por ejemplo, en el home tengo 5 css comprimidos y en alguna página interna tengo 10. En este caso no sirve que sean "cacheados", pues no es lo mismo... En todo caso agarrá todos los archivos CSS y comprimilos y usá los mismos para todas las páginas (cosa que no sería muy buena).

Respondiendo tu pregunta (tal vez) podrías probar quitando esta línea:

Código PHP:
Ver original
  1. header ("cache-control: must-revalidate");

Es la encargada de de evitar el uso del caché.
__________________
nahueljose.com.ar
  #5 (permalink)  
Antiguo 02/06/2011, 14:38
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: Comprimir css desde php

si eso no lo quiero hacer no me parece que sea una opcion, y si son diferentes archivos en cada pagina, aveces los mismos, pero es algo variante, lo que no quiero es que sean tantos y por eso los archivos de x pagina los quiero comprimir en uno solo, y lo hace, pero no cachea y hace el proceso a cada rato, y es practicamente como si no hiciera nada, porque el tiempo que me ahorro por que sea un solo archivo comprimido lo gasto en generar el archivo una y otra vez.
__________________
Extension Google Chrome
dar las gracias no cuesta nada :D
  #6 (permalink)  
Antiguo 02/06/2011, 14:43
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Comprimir css desde php

Si, entiendo.
Bueno este es el script completo y comentado:
Código PHP:
Ver original
  1. <?php
  2.  
  3.    // initialize ob_gzhandler function to send and compress data
  4.    ob_start ("ob_gzhandler");
  5.  
  6.    // send the requisite header information and character set
  7.    header ("content-type: text/css; charset: UTF-8");
  8.  
  9.    // check cached credentials and reprocess accordingly
  10.    header ("cache-control: must-revalidate");
  11.  
  12.    // set variable for duration of cached content
  13.    $offset = 60 * 60;
  14.  
  15.    // set variable specifying format of expiration header
  16.    $expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
  17.  
  18.    // send cache expiration header to the client broswer
  19.    header ($expire);
  20.  
  21. ?>

Intentá esto:

Código PHP:
Ver original
  1. <?php
  2.  
  3.    // initialize ob_gzhandler function to send and compress data
  4.    ob_start ("ob_gzhandler");
  5.  
  6.    // send the requisite header information and character set
  7.    header ("content-type: text/css; charset: UTF-8");
  8.  
  9. ?>
__________________
nahueljose.com.ar
  #7 (permalink)  
Antiguo 02/06/2011, 14:54
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Comprimir css desde php

Cita:
Iniciado por tredio Ver Mensaje
si eso no lo quiero hacer no me parece que sea una opcion, y si son diferentes archivos en cada pagina, aveces los mismos, pero es algo variante, lo que no quiero es que sean tantos y por eso los archivos de x pagina los quiero comprimir en uno solo, y lo hace, pero no cachea y hace el proceso a cada rato, y es practicamente como si no hiciera nada, porque el tiempo que me ahorro por que sea un solo archivo comprimido lo gasto en generar el archivo una y otra vez.
Aquí tienes que comprender una cosa:
El servidor comprimirá el archivo una y otra vez, por cada vez que se le pida el index, sin importar si el usuario final cachea o no.

La única ganancia o la finalidad de la compresión no es del lado del servidor, si no que el cliente con un bajo ancho de banda bajo no descargue tantos bytes.

Además, creo que te convendría mejor ver si puedes configurar el apache para que todas tus peticiones sean servidas con compresión.
  #8 (permalink)  
Antiguo 02/06/2011, 14:56
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: Comprimir css desde php

colocando como me dices Naahuel

queda asi

http://img30.imageshack.us/img30/8818/carga.png
__________________
Extension Google Chrome
dar las gracias no cuesta nada :D
  #9 (permalink)  
Antiguo 02/06/2011, 14:58
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: Comprimir css desde php

Cita:
Iniciado por ocp001a Ver Mensaje
Además, creo que te convendría mejor ver si puedes configurar el apache para que todas tus peticiones sean servidas con compresión.
he leido sobre eso, pero en el servidor donde estoy haciendo las pruebas no tengo la posibilidad de hacer ninguna configuracion, tambien he leido que se puede hacer con el .htaccess pero no me salio :x
__________________
Extension Google Chrome
dar las gracias no cuesta nada :D

Etiquetas: comprimir, css
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:05.