2017-10-24 1 views
0

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.

+0

Haben Sie Dateien im Dateisystem zu sortieren versuchen Warum Sie das tun wollen? o_O – Neodan

+0

Ich will das nur tun, um es schön zu machen. – Peter

Antwort

2

Sie können das nicht tun, sortieren besser, nur die Dateiliste in Ihrem Programm nicht im Dateisystem (-;

+0

okay, danke. – Peter

Verwandte Themen