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
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
$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:
$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?