Sehr geehrte user, ich habe ein problem:
Innerhalb einer Schleife wird ein array erstellt. Ab einem bestimmten wert, wird dieses Array in eine zip Datei gepackt, anschließend gelöscht und neu befüllt. Das funcktioniert auch alles, ABER es wird kein zweites zip file mehr erstellt…
Zip function:
[code]
function zip($array, $name){
$zip = new ZipArchive();
$filename = $name.„.zip“;
echo „zip wird ausgelöst“;
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit(„cannot open <$filename>\n“);
}
for($x = 0; $x < count($array); $x++){
$test = $zip->addGlob($array[$x].„/*“);
}
$zip->close();
unset($zip);
} [/CODE]
schleife:
[CODE]
for($i = 0, $check = 0; $i<count($ordner_size); $i++){
if(($size_counter + $ordner_size[$i][„1“]) < $maximal_kb){ //hier wird die größe der datei überprüft,
$size_counter = $size_counter + $ordner_size[$i][„1“]; //wenn diese nicht zu groß ist, wird sie hinzugefügt.
$ordner = $ordner_size[$i][0];//hier steht nur der ordnername, welcher die daten beinhaltet
array_push($split_tmp,$ordner); //nun wird der Ordnername dem array split_tmp zugewiesen
// in dem array split_tmp beinhalten sich soviele Ordner, dass sie geimeinsam nicht 50MB überschreiten
}
else{ //wenn die nächste Datei MB überschreiten würde
zip($split_tmp, $check);//zip alle bisherigen Dateien, check dienst nur für den namen
$split_tmp = array(„“);//leere Das Array
$size_counter = 0;//setzte den gesamt Size wErt auf 0
$check++;// diese dient nur um abzufragen, wieviele 50mb parts vorhanden sind
}
}[/CODE]
die erste Datei wird erstellt und beinhaltet alle Daten, aber es wird keine weitere Zip datei erstellt. Die Zip function wird aber ausgelöst…