Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Pakowanie katalogów w zip z poziomu php
motor
post 3.12.2007, 15:50:06
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

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


Witam mam taki problem chce spakować cały katalog przez stronę www w zipa
Znalazłem fajny skrypt
  1. <?php
  2. $zip = new zipfile();
  3.  
  4. //Dodanie pliku do naszego ZIP'a - jezeli dodajemy pojedynczy plik
  5. //$spakuj_plik = "plik.exe";
  6. //$nazwa_pliku_w_zip = "plik.exe";
  7. //$zip->add_file($spakuj_plik, $nazwa_pliku_w_zip);
  8.  
  9.  
  10. //Dodanie calego folderu z podfolderami (lacznie z plikami w nich zawartymi) do naszego ZIP'a
  11.  
  12. $spakuj_caly_folder = "$co/strona_kat"; 
  13.  
  14. $zip->zip_dir($spakuj_caly_folder);
  15.  
  16.  
  17. //Zaladowanie wirtualnie stworzonego ZIP'a do skryptu, aby nastepnie zliczyc jej rozmiar
  18. $zipfile = $zip->file();
  19.  
  20. //Zliczenie rozmiaru ZIP'a
  21. $zipfilesize = strlen($zipfile);
  22.  
  23. //Naglówki wysylane do przegladarki, aby wiedziala ze to dokument ZIP, oraz ile za
    jmuje bajtów
  24. header("Content-type: application/x-zip-compressed");
  25. header ("Content-disposition: attachment; filename=" . $filename);
  26. header("Content-Length: ".$zipfilesize."\n\n");
  27.  
  28. //Przekazanie danych wirtualnie stworzonego ZIP'a do przegladarki
  29. echo $zip->file();
  30. ?>


Problem polega na tym że w IE wszystk odział dobrze ale Firefox jakoś błędnie interpretuje wysłany do niego plik i podczas zapisywania zamiast w format .zip zapisuje go w .php (przy próbie otwarcia prze jakiś archiwizator plik php wszystko w nim jest ok są skompresowane)

Ktoś zna lekarstwo an ten błąd smile.gif ?

Albo jak zapisać go na serwerze, nie musi wysyłać do przeglądarki


Ten post edytował motor 3.12.2007, 17:01:11
Go to the top of the page
+Quote Post
BaN
post 3.12.2007, 17:15:14
Post #2





Grupa: Zarejestrowani
Postów: 158
Pomógł: 43
Dołączył: 9.11.2007

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


Spróbuj zastosować nagłówek:
Kod
header('Content-Type: application/octet-stream');

Cytat
Albo jak zapisać go na serwerze, nie musi wysyłać do przeglądarki

file_put_contents, fwrite?
Go to the top of the page
+Quote Post
motor
post 3.12.2007, 17:53:55
Post #3





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

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


niestety to samo
Go to the top of the page
+Quote Post
BaN
post 3.12.2007, 18:18:38
Post #4





Grupa: Zarejestrowani
Postów: 158
Pomógł: 43
Dołączył: 9.11.2007

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


Sprawdź jaką masz wartość zmiennej $filename, gdyż w kodzie, który pokazałeś nie jest nigdzie ustawiana
Go to the top of the page
+Quote Post
motor
post 3.12.2007, 22:20:56
Post #5





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

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


heheheeh smile.gif BINGO

działa
  1. <?php
  2. header("Content-disposition: attachment; filename=plik.zip");
  3. ?>

Dzięki za pomoc smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2025 - 07:54