Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zip
kicaj
post
Post #1





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

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


Uzywam klasy z: http://www.planet-source-code.com/vb/scrip...57&lngWId=8
Poprawnie dziala zapis pliku zip na dysku serwera, jednak problem pojawia sie wtedy gdy chce automatycznie pobrac plik do sciagniecia, przy linikach:

  1. <?php
  2. header("Content-type: application/octet-stream");
  3. header("Content-disposition: attachment; filename=test.zip");
  4. ?>


Problem polega na tym, ze plik jest sciagany, zapisywany i w momencie rozpakowania plik jest uszkodzony:/
Go to the top of the page
+Quote Post
thornag
post
Post #2





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

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


A jaka przegladarka ? Jest roznica miedzy ocetetstream a ocetet-stream

Pozatym mialem to samo zpodam kodem nie bede taki (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

  1. <?php
  2. if(ini_get('zlib.output_compression'))
  3.  ini_set('zlib.output_compression', 'Off');
  4.  
  5.  if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']))
  6. $UserBrowser = "Opera";
  7. elseif (ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']))
  8. $UserBrowser = "IE";
  9. else
  10. $UserBrowser = '';
  11.  
  12.  
  13. $mime_type = ($UserBrowser == 'IE' || $UserBrowser == 'Opera') ? 'application/octetstream' : 'application/octet-stream';
  14.  
  15. header('Content-Type: ' . $mime_type);
  16. header('Content-Disposition: attachment; filename="'.basename($zipName).'"');
  17. header('Accept-Ranges: bytes');
  18. header("Content-Length: ".filesize($zipName)); 
  19. header("Cache-control: private");
  20. header('Pragma: private');
  21. readfile($zipName);
  22. }
  23. ?>


No to tyle (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ini set jest dla IE, pozniej sprawdzasz przegladarke zeby podrzucic dobry typ MIME. A reszta to juz chyba jasna ?

Ten post edytował thornag 20.07.2006, 18:22:09
Go to the top of the page
+Quote Post
kicaj
post
Post #3





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

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


Juz dziala, na Operze, FF i IE dziala na application/octet-stream bez problemu.

Mam jeszcze jedno pytanie: do metody add_file dodaje pliki ze sciezka (foldery itp), w spakowanym pliku ta sciezka pozostaje, chcialbym jednak w samym zipie miec tylko pliki, bez folderow. Jak to zrobic?
Go to the top of the page
+Quote Post
thornag
post
Post #4





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

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


To juz trzeba zmienic sama klase. Pamietam mialem tem sam problem. Znajdz metode odpowiedzialna za dodawanie pliku do archiwum i dodaj do zmiennej zawieracacej nazwe pliku basename($zmienna).

Powinno pomoc.

Jesli nie znajdziesz nic zarzuc kawalkiem kodu z classy mozemy poszukac razem.
Go to the top of the page
+Quote Post

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: 26.08.2025 - 07:34