Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pakowanie katalogów w zip z poziomu php
Forum PHP.pl > Forum > Przedszkole
motor
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
BaN
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?
motor
niestety to samo
BaN
Sprawdź jaką masz wartość zmiennej $filename, gdyż w kodzie, który pokazałeś nie jest nigdzie ustawiana
motor
heheheeh smile.gif BINGO

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

Dzięki za pomoc smile.gif
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.