RarEntry::getFileTime
RarEntry::getCrc()
(PECL rar >= 0.1)
RarEntry::getCrc() — Hämta CRC för posten
Beskrivning
public RarEntry::getCrc(): string
Returnerar en hexadecimal strängrepresentation av CRC för arkivposten.
Parameterlista
Denna funktion har inga parametrar.
Returnerar
Returnerar CRC för arkivposten eller false
vid fel.
Ändringslogg
Version | Beskrivning |
---|---|
PECL rar 2.0.0 | Denna metod returnerar nu korrekta värden för flervolymarkiv. |
Användarnoteringar
RarEntry::getCrc() returnerar en hex-sträng med gemener (t.ex. 'bf6fa85c'), samma som hash_...-funktionerna, och använder samma polynom som algoritmen 'crc32b'. Detta kan användas för att kontrollera CRC efter att ha packat upp en ström:
Exempel
Exempel #1 Kontrollera CRC efter att ha packat upp en ström
<?php $archive_name = 'archive.rar'; $entry_name = 'someentry.ext'; $rar = RarArchive::open($archive_name) or die("Cannot open archive $archive_name"); if ($rar->isBroken()) { die("The archive is broken!"); } $entry = $rar->getEntry($entry_name) or die("Cannot find entry $entry_name"); $stream = $entry->getStream() or die("Cannot open stream"); $crc = hash_init('crc32b'); // Initierar hashfunktionen while (!feof($stream)) { $s = fread($stream, 8192); if ($s === false) { // Fel vid läsning die('Error reading the compressed file.'); } hash_update($crc, $s); // Uppdaterar hashvärdet // ... // Gör vad som helst med $s } fclose($stream); $got_crc = hash_final($crc); $need_crc = $entry->getCrc(); print("Got CRC: $got_crc" . PHP_EOL); print("Need CRC: $need_crc" . PHP_EOL); if ($got_crc != $need_crc) { // Återställ print("Sorry guys, the file was incorrect!" . PHP_EOL); } else { print("Everything is ok" . PHP_EOL); } ?>
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/rarentry.getfiletime.php
PHP
Funktioner
Funktionsreferens
Komprimerings- och arkivtillägg
Rar_—_Rar_Arkivering
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.