Signatur
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
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);
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();
// 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.