Die folgende PHP-Datei erstellt eine ZIP-Datei und funktioniert so wie sie sollte.PHP: sortiere ZIP in alphabetischer Reihenfolge
<?php
$zip = new ZipArchive();
$ZIP_name = "./path/Prefix_" .$date . ".zip";
if ($zip->open($ZIP_name, ZipArchive::CREATE)!==TRUE) {
exit("There is a ZIP Error");
}
if ($zip->open($ZIP_name, ZipArchive::CREATE)==TRUE) {
echo "ZIP File can be created" . "<br>";
}
foreach($list as $element) {
$path_and_filename = "../path_to_somewhere/product_"
. $element
. ".csv";
$zip->addFile($path_and_filename, basename($path_and_filename));
}
echo "numfiles: " . $zip->numFiles . "\n"; // number of element files
echo "status:" . $zip->status . "\n"; // Status "0" = okay
$zip->close();
?>
Es ist nur ein kleiner Makel: Der obige foreach-loop abruft Elemente aus einem Array in der alle Elemente in alphabetischer Reihenfolge sortieren. Nach der Erstellung der ZIP-Datei befinden sich die Dateien innerhalb der ZIP-Datei in einer anderen Reihenfolge, möglicherweise aufgrund unterschiedlicher Dateigröße.
Gibt es eine Möglichkeit, die csv-Dateien in der ZIP später mit PHP zu sortieren? Ich bin neu in der ZIP-Erstellung mit PHP und habe in der Dokumentation nichts hilfreiches gefunden.
Haben Sie Dateien im Dateisystem zu sortieren versuchen Warum Sie das tun wollen? o_O – Neodan
Ich will das nur tun, um es schön zu machen. – Peter