Para aligerar el tiempo de carga de nuestras páginas generadas con PHP, podemos enviarlas al navegador comprimidas con GZip utilizando las funciones de control de salida, para ello, llamaremos a la función predefinida ob_gzhandler cómo tratante de la función ob_start, veamos un ejemplo:
<?
ob_start("ob_gzhandler");
// Contenido de la página, puede contener
// tanto HTML cómo PHP
ob_end_flush();
?>
Tener en cuenta que todo el contenido debe estar en el lugar indicado por lo que los primeros caracteres del documento deben ser <? y los dos últimos ?> y no se debe añadir nada excepto donde se indica, si no vamos con cuidado recibiremos un error parecido al siguiente:
Warning: Cannot add header information...
Otra forma más completa todavía de compresión, consiste en aplicar la misma función, pero eliminando a su vez los espacios y saltos de línea de la fuente del documento, lo que no tendrá ningún efecto visual pero disminuirá el tiempo de descarga, veamos cómo hacerlo:
<?
ob_start();
// Contenido de la página, puede contener
// tanto HTML cómo PHP
$cntACmp =ob_get_contents();
ob_end_clean();
$cntACmp=str_replace("\n",' ',$cntACmp);
$cntACmp=ereg_replace('[[:space:]]+',' ',$cntACmp);
ob_start("ob_gzhandler");
echo $cntACmp;
ob_end_flush();
?>
Este método funciona igual que el anterior solo que antes de comprimir elimina los saltos de línea y espacios innecesarios, pero debemos tener en cuenta las mismas precauciones o no funcionará.



0 comentarios:
Publicar un comentario en la entrada