Start · Sprachen · PHP · Referenz · rar_comment_get

rar_comment_get

Funktion

Liefert den im RAR-Archiv gespeicherten Kommentartext oder <code>null</code>, wenn kein Kommentar vorhanden ist.

seit PHP 2.0.0 Kategorie: io

Signatur

rar_comment_get(RarArchive $rarfile): string|null

Beschreibung

rar_comment_get() liest den optionalen Archivkommentar aus einem geöffneten RAR-Archiv aus. Viele RAR-Archive enthalten einen solchen Kommentar, der beim Erstellen des Archivs mit einem RAR-Packprogramm hinterlegt werden kann und allgemeine Informationen über den Archivinhalt, Nutzungsbedingungen oder Versionsinformationen enthält.

Die Funktion erwartet ein RarArchive-Objekt, das zuvor mit RarArchive::open() bzw. der prozeduralen Variante rar_open() geöffnet wurde. Sie ist Teil der PECL-Erweiterung rar und steht damit nur zur Verfügung, wenn diese Erweiterung installiert ist.

Der Rückgabewert ist ein einfacher PHP-String mit dem Kommentartext. Ist kein Kommentar im Archiv vorhanden, wird null zurückgegeben. Dies ermöglicht eine bequeme Prüfung mit if ($comment !== null).

Als objektorientierte Alternative steht die Methode RarArchive::getComment() zur Verfügung, die funktional identisch ist.

Parameter

Name Typ Default Beschreibung
$rarfile Pflicht RarArchive Ein geöffnetes RAR-Archiv-Objekt vom Typ RarArchive, wie es von rar_open() oder RarArchive::open() zurückgegeben wird.

Rückgabewert

Typ
string|null
Beschreibung
Gibt den Kommentartext des Archivs als string zurück. Falls das Archiv keinen Kommentar enthält, wird null zurückgegeben.

Beispiele

Archivkommentar auslesen und ausgeben

<?php
// RAR-Archiv öffnen
$archiv = rar_open('/pfad/zum/archiv.rar');

if ($archiv === false) {
    die('Archiv konnte nicht geöffnet werden.');
}

// Kommentar auslesen
$kommentar = rar_comment_get($archiv);

if ($kommentar !== null) {
    echo 'Archivkommentar: ' . htmlspecialchars($kommentar);
} else {
    echo 'Dieses Archiv enthält keinen Kommentar.';
}

rar_close($archiv);
Archivkommentar: Erstellt am 2024-01-15 – Backup aller Projektdateien.

Objektorientierte Variante zum Vergleich

<?php
// RAR-Archiv objektorientiert öffnen
$archiv = RarArchive::open('/pfad/zum/archiv.rar');

if ($archiv === false) {
    die('Archiv konnte nicht geöffnet werden.');
}

// Kommentar über Methode auslesen (identisch zu rar_comment_get)
$kommentar = $archiv->getComment();

if ($kommentar !== null) {
    echo 'Kommentar: ' . htmlspecialchars($kommentar) . PHP_EOL;
} else {
    echo 'Kein Kommentar vorhanden.' . PHP_EOL;
}

$archiv->close();
Kein Kommentar vorhanden.

// Wichtig · Fallstricke

PECL-Abhängigkeit: rar_comment_get() ist Teil der PECL-Erweiterung rar und ist nicht im PHP-Kern enthalten. Die Erweiterung muss separat installiert und in der php.ini aktiviert sein (extension=rar). Ohne diese Erweiterung führt der Aufruf zu einem fatalen Fehler.

Ausgabe absichern: Der Kommentartext eines RAR-Archivs ist eine externe Quelle und kann beliebige Zeichen enthalten. Wird der Kommentar in einer HTML-Seite ausgegeben, sollte er unbedingt mit htmlspecialchars() maskiert werden, um XSS-Angriffe zu verhindern.

Zeichenkodierung: RAR-Kommentare können in verschiedenen Zeichenkodierungen vorliegen (z. B. Windows-1252). Bei Bedarf sollte mb_convert_encoding() oder iconv() zur Konvertierung in UTF-8 eingesetzt werden.