RarEntry::getStream

(PECL rar >= 2.0.0)

RarEntry::getStreamObtener manejador de archivo para entrada

Descripción

public RarEntry::getStream ([ string $password ] ) : resource

Devuelve un manejador de archivo que soporta operaciones de lectura. Este manejador proporciona descompresión al vuelo para esta entrada.

El manejador no es invalidado por llamar a rar_close().

Advertencia

El flujo resultante no tiene verificación de integridad. En particular, archivo corrupto y descifrado con una clave errónea, no será detectado. Es responsabilidad del programador utilizar la entrada CRC para comprobar la integridad, si así lo desea.

Parámetros

password

La contraseña utilizada para cifrar esta entrada. Si la entrada no está cifrada, este valor no se utilizará y puede ser omitido. Si el parámetro es omitido y la entrada está cifrada, la contraseña dada a rar_open(), será utilizada. Si una contraseña incorrecta es dada, ya sea explícita o implícitamente via rar_open(), teste método resultante de flujo producirá error de salida. Si no se especifica la contraseña y se requiere una, este método fallará y devolverá FALSE. Puede comprobar si una entrada está cifrada con RarEntry::isEncrypted().

Valores devueltos

El manejador de archivo o FALSE en caso de error.

Historial de cambios

Versión Descripción
3.0.0 Soporte para archivos RAR con nombres de entrada que se repiten ya no es defectuoso.

Ejemplos

Ejemplo #1 Ejemplo de RarEntry::getStream()

<?php

$rar_file 
rar_open('example.rar');
if (
$rar_file === false)
    die(
"Failed to open Rar archive");

$entry rar_entry_get($rar_file'Dir/file.txt');
if (
$entry === false)
    die(
"Failed to find such entry");

$stream $entry->getStream();
if (
$stream === false)
    die(
"Failed to obtain stream.");

rar_close($rar_file); //flujo es independiente de archivo

while (!feof($stream)) {
    
$buff fread($stream8192);
    if (
$buff !== false)
        echo 
$buff;
    else
        break; 
//error fread
}

fclose($stream);

?>

Ver también