Sonntag, 26. Juni 2011

Kleinigkeiten: Dateien zippen

Nur eine kurze Notiz um das Gedächtnis zu entlasten.
Wir übergeben einer Funktion den Namen einer zu erstellenden Zipdatei und ein Array mit zu zippenden Dateien, natürlich jeweils mit der vollständigen Pfadangabe.

Wirklich wichtig ist lediglich die Überprüfung ob die jeweilige Datei tatsächlich lesbar ist. Auf "addFile" kann man sich jedenfalls nicht verlassen, wie man auch in den warnenden Kommentaren im Manual lesen kann. Natürlich ist der Lerneffeckt höher wenn man selbst in diese Falle gelaufen ist und die Ursache suchen durfte.

function zippeDateien($ZipDatei, $DateiArray) {

    $zip = new ZipArchive();

    if (file_exists($ZipDatei)) {
        unlink($ZipDatei);
    };
    if ($zip->open($ZipDatei, ZIPARCHIVE::CREATE) !== TRUE) {
        echo("PANIK! Kann ZIP nicht erstellen!\n");
        return;
    };

    foreach ($DateiArray as $Datei) {
        if (is_readable($Datei)) {
            $zip->addFile($Datei, basename($Datei));
        } else {
            echo "$Datei ist nicht lesbar!";
        }
    };

    $zip->close();
}
Banal, ich weiß. Kleinigkeiten eben.

Keine Kommentare:

Kommentar veröffentlichen