Znalazłem klasę
class.easyzip.php http://wklej.org/id/318105/ , i niby wszystko jest zgodnie z dokumentacją:
http://www.pkware.com/documents/casestudies/APPNOTE.TXT , i dobrze pakuje pojedyncze archiwa lecz przy dzieleniu się gubi - wywala plik jest uszkodzony przy wypakowywaniu
Przy podmianie nazewnictwa z:
$sfilename = basename ($splitfilename,".zip"); $sfilename = $sfilename . ".z" . sprintf("%02d",$i+1
); }
else $sfilename = $splitfilename;
na:
$sfilename = basename ($splitfilename,".zip"); $sfilename = $sfilename . "." . sprintf("%03d",$i+1
);
I po otwarciu pliku archiwum z numerem 001 zamiast info o niemożności otwarciu pliku jako archiwum lub plik jest uszkodzony to pojawia się spakowany plik lecz przy dekompresji wywala nieznaną metodę kompresji :|
przykładowe użycie:
<?php
require_once('class.easyzip.php');
$z = new EasyZIP;
$z -> addFile("1.txt");
//$z -> zipFile("package.zip");
$z -> splitFile("split_pack.zip", 55);//rozmiar w bajtach
?>
Może wszystko jest ok ale gubi kolejność plików lub dodaje o jeden plik za dużo? Czy każde kolejne archiwum nie powinno odnosić się do kolejnej części?
moze jednak ktoś ma jakiś pomysł?