[PHP] kompresja gzip na PLIKACH

0

wiem, że można sobie włączyć lub wyłączyć kompresję strony, ale mi chodzi o cos innego :)

mam sobie plik upload.php i download.php - ludzie przez upload wrzucają sobie pliczki, których nie pakują - sporo to miejsca zajmuje... Pomyslalem, ze dobrze by bylo od razu po odebraniu pliku pagowac go do GZipa, a przed wyslaniem go rozpakowywac - zaoszczedzilo by mi to miejsce na serwerze :P

Szukam już 2 godziny, ale doszukałem się tylko tysięcy stron jak włączyć kompresję gzip dla stron HTML :-/

z gory thx za pomoc :)

0

po odebraniu pliczku jak masz włączoną funkcję system() możesz po prostu wywołać jakiś program pakowujący na tym pliku, nie pamiętam jak to szło w tuxie :P

pa

0

mow mi dalej a na pewno zrozumiem ;)

mozna jakis przykladzik?

0

powiedzmy, że załadował Ci się cały plik, a jego nazwę zapisałeś sobie w zmiennej: $_POST['name'];

i teraz robisz takie misz masz :P :

<?php
system('gzip '.addslashes($_POST['name']));
?>

musisz dodatkowo uwzględnić położenie załadowanego pliku, np:

<?php
system('gzip /home/darkspirit/page/input/'.addslashes($_POST['name']));
?>

nie znam się na tuxie zbyt dobrze, ale to może wyglądać tak :P

pa

0

Jak masz dostep do system() (ale jesli to jakiies darmowe konto lub niskoplatne to raczej nie masz :P ) wpisz:

tar czf nazwa.tar plik.sciagniety.jpg

a rozpakowujesz:

tar xzf nazwa.tar

:)

0

rzeczywiscie system nie dziala - najyrazniej mam za tani serwer:-/. Ile musze placic rocznie za serv zeby bylo to? ;)

za to uzylem czegos takiego (z ostatniego linka):

   $data = implode("", file("bigfile.txt"));
   $gzdata = gzencode($data, 9);
   $fp = fopen("bigfile.txt.gz", "w");
   fwrite($fp, $gzdata);
   fclose($fp);

i dziala, ale jeszcze mi sie przypomnialo, ze czesto pliki z linuxa maja rozszerzenie .tar.gz - co to daje? ;)

0

Witam,

*.tar.gz poniewarz peirw katalog jest pakowany (nie mylić z kompresowany) tar'em a potem archiwum tar jest kompresowane gzip'emcyzli tak to wygląda:

  1. mamy plik: tost.txt
  2. archiwizujemy go tar'em mamy plik: tost.txt.tar
  3. pakujemy go gzipem i mamy tost.txt.tar.gz

Z tymże program tar pryz podaniu odpowiednich parametrów <ort>Od razu</ort> po zarchiwizowaniu strumienia pakuje go gzipem i wyrzuca nam <ort>Od razu</ort> plik *.tar.gz

Pozdr.
GM

1 użytkowników online, w tym zalogowanych: 0, gości: 1