Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kompresja katalogu do gzip, czyli taki auto-download
DJSuperMEN
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 20.09.2004

Ostrzeżenie: (0%)
-----


Witam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , to mój pierwszy post i mam nadzieję że nie zostane odrazu skarcony (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Jak wiecie w internecie jest coraz wiecej cwaniaków, którzy lubią robić down load-y z adresami z innych serwerów, pobierając tym samym ich tranfer. Jest wiele metod aby temu zapobiegać, i właśnie zainteresowałem się tym tematem.

Chciałbym zrobić coś takiego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , a mianowicie:

Osoba wchodzi na strone i klika w download.php?id=cos_tam

teraz srypt download.php szuka katalogu o nazwie (w katalogu w którym są pliki) cos_tam i kompresuje go do formatu gzip, daje mu wygenerowaną nazwę a następnie wysyła headerem do przeglądarki, no i user pobiera sobie ładnie pliczek wytworzony automatycznie przez skrypt.

Najważniejszym priorytetem tutaj jest dla mnie skompresowanie katalogu cos_tam (potem jest łatwosc jezeli sie buga wykryje i wysyła sie odrazu pliczek na serwer, jako .php i nie trzeba zip-ków ani rar-ów robić).

Proszę Was o pomoc, dzięki z góry (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

//OT:ON// PS. DLA OSOBY KTÓRA POLECI MI SKORZYSTAC Z JAKŻE POŻYTECZNEJ FUNKCJI SZUKAJ - INFORMACJA : szukałem i po wpisaniu gzip otrzymuje dwa nic nieznaczące wyniki//OT:OFF//
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DJSuperMEN
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 20.09.2004

Ostrzeżenie: (0%)
-----


Dzięki wielkie za pomoc. Wszystko działa.

Teraz to, co opracowałem niech posłuży potomnym, którzy pewnie też bedą mieli pobobny problem. Systemu nie idzie oszukac, to swietna metoda na bezpieczny, i dobry download (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


plik download.php
  1. <?php
  2. $filename = uniqid(rand()).'.zip'; // nazwa pliku tworzona automatycznie
  3.  
  4. $mime_type = (USER_BROWSER_AGENT == 'IE' || USER_BROWSER_AGENT)'application/octetstream' : 'application/octet-stream';
  5.  
  6. require_once('pclzip.lib.php'); //tutaj podaje sciezke do pliku pclzip.lib.php
  7.  
  8. $archive = new PclZip('c:/WebServ/httpd/gzip/cache/'.$filename); //tworze plik archiwum i wybieram katalog docelowy
  9.  
  10. //a tu podaje jakie katalogi ida do archiwum, i jakie sciezki usunac z archiwum
  11. $v_list = $archive->add('c:/WebServ/httpd/gzip/katalog', PCLZIP_OPT_ADD_PATH, '', PCLZIP_OPT_REMOVE_PATH, 'c:/WebServ/httpd/gzip/katalog');
  12.  
  13. // tutaj wysyłam plik do przeglądarki
  14. header(&#092;"Content-type: application/octet-stream\");
  15. header(&#092;"Content-disposition: attachment; filename=houres3.zip\");
  16. readfile('cache/'.$filename.'');
  17.  
  18. // a na koncu go kasuje
  19. unlink('cache/'.$filename.'');
  20. ?>


Do kodu który napisałem trzeba utworzyc katalog cache o chmodzie 777.

Jeszcze raz dzięki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , thanks for all
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 16:14