Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] kompresja Gzip dla plików żródłowych.
Forum PHP.pl > Forum > PHP
pieto
Witam, kolejnym moim problem jest niemożność skopresowania pliku źórdłowych.

Mam sklep osc, kompresuje go przez stadardowo funcje tego sklepu (ob_start, ob_flush), ale kompresuje tylko plik głowny - oczywiscie nie bierze resourcow np js css,
jakis sposob aby skompresowac calosć ?
heaven
Hejka
znalazlem cos takiego

It is also possible to use ob_gzhandler to compress css and javascript files, however some browsers such as firefox expect content type text/css on css files.

To get around this send a content type header:
  1. <?php
  2. ob_start('ob_gzhandler');
  3. ?>
  4.  
  5. .... your css content ...
  6.  
  7. <?php
  8. header("Content-Type: text/css");
  9. header('Content-Length: '.ob_get_length());
  10. ?>
aren
Wiec rozwiazanie typu (tylko przyklad):
  1. <?php
  2. ob_start('ob_gzhandler');
  3. include("/corefiles/header.php");
  4. include("/corefiles/styles/1/1.css");
  5.  
  6. /*
  7.   Tu kod
  8. */
  9. ?>

Nie bedzie gzipu na 1.php czy header.php ? Chyba - z calym szacunkiem - cos nie macie Panowie racji.
pieto
No racje po zaincludowaniu przez include oczywscie skompresuje sie,
ale nie jesli

<link rel="stylesheet" type="text/css" href="stylesheet.css">
i
<script language="javascript" src="javascript/general.js"></script>

nieprawdasz aren ?

ocykalem sobie 2 sposoby

1. includowaie php w we wszystkich plikach css i js
2. i lepszy przez mod_rewrite - skierowanie na php

moze jakis inny sposob ?
aren
No rzeczywiscie, zwracam honor (nawet nie zdawalem sobie z tego sprawy). Jednak musi byc jakis inny sposob niz te dwa podane przez Ciebie...
Jabol
zainteresuj się mod_gzip, wtedy nie będziesz musiał tego robić w php, apache zrobi to za Ciebie.
heaven
Hejka
oto rozwiazanie to inne smile.gif
w pliku html piszesz
  1. <link rel="Stylesheet" href="stylesheet.php" type="text/css">

zwróć uwagę na rozszezenie php (stylesheet.php)

i teraz tworzysz ten plik tak
  1. <?php
  2. ob_start('ob_gzhandler');
  3. ?>
  4.  
  5. body {
  6. background-color:#ffffb9;
  7. margin:0px;
  8. }
  9. ........
  10.  
  11. <?php
  12. header("Content-Type: text/css");
  13. header('Content-Length: '.ob_get_length());
  14. ?>


dzieki temu bedzie wysylalo skompresowane pliki css i tak samo mozesz zrobic z js
aren
Nie glupie rozwiazanie heaven. Dobrze wykombinowales.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.