Autor | Zpráva | ||
---|---|---|---|
blahapet Profil |
#1 · Zasláno: 31. 1. 2014, 06:20:33
Dobrý den,
v eshopu se snažím archivovat faktury (PDF soubory) pomocí souboru zip.lib.php. Vše jde hladce, pokud je ve složce nějakých 30-50 souborů. Pokud jich tam je několikanásobně více, také se ZIP soubor vytvoří, avšak při rozbalení se zjeví hláška "Žádný archív nenalezen" či " "Chyba v komprimovaném souboru". Nemáte, prosím tušení, co může být na níže uvedeném kódu špatně? <?php require("zip.lib.php"); $zip = new zipfile(); $year=$_GET["year"]; $slozka= "pdf/faktury/".$year; $zipname = "Faktury-".$year.""; $adr=Dir("./$slozka/"); while ($file=$adr->Read()){ if (!(($file==".")||($file=="..")||($file=="index.php"))){ $files[]="$file"; } } $adr->Close(); @Sort($files); $max=SizeOf($files); for ($i=0;$i<$max;$i++){ $filename="./$slozka/$files[$i]"; $f=FOpen($filename,"r"); $add_to_zip = fread ($f, filesize ($filename)); FClose($f); $zip->addFile($add_to_zip, "$files[$i]"); } header("Content-Type: application/x-zip"); header("Content-disposition: attachment; filename=".$zipname.".zip"); echo $zip->file(); ?> |
||
scheras Profil * |
#2 · Zasláno: 31. 1. 2014, 09:09:07
Na uvedeném kódu by nemělo být špatně nic, ale knihovna si pravděpodobně vše ukládá do paměti, takže v případě, že máte na hostingu malý memory limit či execution time, skončí akce chybou, kterou Vám možná script nevypíše, pokud nemáte zaplé hlášení chyb.
|
||
Časová prodleva: 10 let
|
0