Hallo zusammen,
ich erzeuge online auf einem Webserver ein ZIP Archiv. Das funktioniert auch wunderbar, nur leider zeigt er mir erst bei einem Refresh die richtige Dateigröße an :
Code:
function downloadDirZIP($zipcontent, $zipname)
{
$zipfilename = $zipname.".zip";
chdir("/var/www/domain/httpdocs/tmp/");
ftp_sync($_SESSION['cid'],$zipcontent);
$ar_zipfiles = ftpRecursiveFileListing($_SESSION['cid'],'/'.$zipcontent);
$zip = new ZipArchive();
if ($zip->open("./".$zipfilename, ZIPARCHIVE::CREATE)!==TRUE) {
exit("ZIP-Archive <$zipfilename> konnte nicht geöffnet werden.\n");
}
// Add the selected files and directories to the zip archive
foreach ($ar_zipfiles as $k => $v) {
for($i=0; $i<="" code="">
if (!is_dir("./".$k."/".$ar_zipfiles[$k][$i])) {
$zip->addFile("./".$k."/".$ar_zipfiles[$k][$i], $k."/".$ar_zipfiles[$k][$i]);
}
}
}
// To close the zip archive
$zip->close;
echo "Dateigröße 1 : ".filesize("./".$zipfilename)."
";
}
Meine Vermutung geht dahin, dass die ZIP-Funktion close noch nicht komplett ausgeführt wird und ich deshalb keine Dateigröße angezeigt bekomme. Liege ich mit meiner Vermutung richtig und/oder wo ist der Fehler ?
Crosspost
hier.
Gruß
Rolf