Zum Inhalt springen

zip_entry_compressedsize()

Die Funktion zip_entry_compressedsize() ist eine veraltete Funktion der PHP zip-Erweiterung. Sie wurde in PHP 7.4 als veraltet markiert und in PHP 8.0 entfernt. Die komprimierte Größe entspricht der Dateigröße nach der Komprimierung mit dem ZIP-Komprimierungsalgorithmus.

Syntax

Die Syntax der Funktion zip_entry_compressedsize() lautet wie folgt:

Syntax der zip_entry_compressedsize()-Funktion in PHP

php
int zip_entry_compressedsize(resource $zip_entry)

Dabei ist $zip_entry der Handle für den ZIP-Eintrag der Datei im Archiv. Beachten Sie, dass diese Funktion zur veralteten zip-Erweiterung gehört und in PHP 8.0+ nicht mehr verfügbar ist.

Anwendungsbeispiele

Werfen wir einen Blick auf ein praktisches Beispiel zur Verwendung von zip_entry_compressedsize() in PHP.

Beispiel: Ermitteln der komprimierten Größe einer Datei in einem ZIP-Archiv

Nehmen wir an, Sie haben ein ZIP-Archiv mit den veralteten PHP-ZIP-Funktionen geöffnet und möchten die komprimierte Größe einer Datei im Archiv ermitteln. Dazu können Sie die Funktion zip_entry_compressedsize() verwenden, wie hier gezeigt:

Ermitteln der komprimierten Größe einer Datei in einem ZIP-Archiv in PHP

php
$zip = zip_open("example.zip");
if ($zip === false) {
    die("Failed to open zip archive.");
}

$zip_entry = zip_read($zip);
if ($zip_entry === false) {
    die("Failed to read zip entry.");
}

// get the compressed size of the file
$compressed_size = zip_entry_compressedsize($zip_entry);

echo "The compressed size of the file is: " . $compressed_size . " bytes.";

Dieser Code öffnet eine ZIP-Archivdatei example.zip mit zip_open(). Anschließend wird eine Datei im Archiv mit zip_read() gelesen und deren komprimierte Größe mit zip_entry_compressedsize() ermittelt. Abschließend wird die komprimierte Größe an den Benutzer ausgegeben.

Moderne Alternative: Verwendung von ZipArchive

Da die veralteten zip_*-Funktionen in PHP 8.0 entfernt wurden, wird empfohlen, stattdessen die integrierte Klasse ZipArchive zu verwenden. So können Sie die komprimierte Größe einer Datei mit ZipArchive ermitteln:

php
$zip = new ZipArchive;
if ($zip->open('example.zip') === true) {
    $index = $zip->locateName('example.txt');
    if ($index !== false) {
        $stat = $zip->statIndex($index);
        $compressed_size = $stat['comp_size'];
        echo "The compressed size of the file is: " . $compressed_size . " bytes.";
    }
    $zip->close();
}

Fazit

In diesem Artikel haben wir die veraltete Funktion zip_entry_compressedsize() und ihre Verwendung zur Ermittlung der komprimierten Größe einer Datei in einem ZIP-Archiv besprochen. Wir haben die Syntax erläutert, ein Beispiel für die veraltete API mit grundlegender Fehlerbehandlung bereitgestellt und eine moderne Alternative mit der Klasse ZipArchive aufgezeigt. Für aktuelle PHP-Versionen (8.0+) sollten Sie stets ZipArchive bevorzugen, um fatale Fehler zu vermeiden und die Kompatibilität sicherzustellen.

Praxis

Was ist die Funktionalität der Funktion zip_entry_compressedsize() in PHP?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.