• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

zip datei in schleife erstellen

jumbo125

Mitglied
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);
}

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
}
}

die erste Datei wird erstellt und beinhaltet alle Daten, aber es wird keine weitere Zip datei erstellt. Die Zip function wird aber ausgelöst.....
 
Werbung:
error_reporting aktiviert und display_errors hochgeschraubt?
Und bitte nutz für PHP-Code auch die BB-Codes für PHP-Code!
 
Der Fehler ist schon gefunden, erstens lag ein Konzept Fehler vor zweitens wurde kein weiteres zip file erstellt, da in den Daten array ein leerer Eintrag war. Danke
 
Werbung:
Zurück
Oben