Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]ZIP - generowanie w locie..
Forum PHP.pl > Forum > Przedszkole
wNogachSpisz
Witam
Z góry proszę o wyrozumiałość, nie mam doświadczenia przy pracy z danymi binarnymi ani w PHP ani w żadnym innym języku, szukam pomocy, jak to ugryść.

Chce wygenerować plik w formacie ZIP zawierający kilka plików,
problem polega na tym, że pliki te są znacznej wielkości więc nie mogę użyć bibliteki ZLIB czy jakiejkolwiek innej do wygenerowania całego archiwum w pamięci, muszę zrobić to na zasadzie fread()/echo, poziom kompresji ma być zerowy (store).
W tym celu musze nijako zaimplementować format ZIP w php.

Specyfikację znalazłem tutaj:
http://www.pkware.com/documents/casestudies/APPNOTE.TXT

Załózmy że chce mieć w takim archiwum dwa PUSTE pliki o nazwach kolejno '1.txt' i '2.txt'.

Kod
    [local file header 1]
    [file data 1]
    [data descriptor 1]
    .
    .
    .
    [local file header n]
    [file data n]
    [data descriptor n]
    [archive decryption header]
    [archive extra data record]
    [central directory]
    [zip64 end of central directory record]
    [zip64 end of central directory locator]
    [end of central directory record]


Rozumiem że muszę podać sumy kontrole plików w CRC-32, OK, ale czy musze też podac sumę kontrolną całego pliku ZIP?
Czy ktoś mógłby objaśnić jak się za to zabrać?
Z góry dziękuję za pomoc.
mls
Jeśli nie chcesz kompresować plików, a jedynie złączyć je w jeden, to może bardziej oczywistym rozwiązaniem będzie zastosowanie formatu TAR, którego podstawową specyfikację znajdziesz np. na http://en.wikipedia.org/wiki/Tar_(file_format)
wNogachSpisz
Dobry pomysł..

http://www.phpclasses.org/browse/file/1779.html
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.