něco o mně | fotogalerie | guestbook | download |

PHP Proxy - plug-in moduly

Název modulu: dividuums PHPgzip 0.1, autor: Florian Wesch.

Zatím jediný modul v této sekci, který lze velice snadno vložit do každého skriptu. PHPgzip aplikuje kompresi na přenášená data mezi serverem a klientem (browserem). Touto vlastností můžeme urychlit stahování dat až o několik desítek procent (uvažujeme formát text/html, u multimediálních souborů bude pochopitelně toto procento mnohem menší). Nyní již k samotnému začlenění do skriptu.

funkce gz_start();
Nejprve se otestuje, zda-li je vůbec možné podporu gzip komprese využít (HTTP_ACCEPT_ENCODING). Následuje modifikace hlavičky (konkrétně Content-Encoding: gzip), která bude později odeslána klientovi. Je vhodné sdělit prohlížeči, jakým programem byla komprese provedena (X-Compressed-by) - tento parametr však není nutností.
funkce gz_end();
Tato funkce je na mě poněkud složitější, slouží převážně k samotné kompresy a vytvoření CRC kontrolního součtu přenášených dat. V proměnné $gzipheader máme připravenou hlavičku odpovědi, $payload obsahuje zkomprimovaná data (funkcí gzcompress). Mimo jiné si můžeme nechat zobrazit tzv. kompresní poměr, který zobrazuje velikost dat před a po kompresy.

Příklad použití: <? include("phpgzip.php"); gz_start(); phpinfo(); gz_end(); ?>

Download zdrojového kódu je k dispozici zde. Skript si můžete vyzkoušet na adrese http://milanc.host.sk/smartproxy/phpgzip.php.