RarEntry::getStream
(PECL rar >= 2.0.0)
RarEntry::getStream — Récupère le gestion de fichier pour une entrée
Description
$password
] ) : resourceRetourne le gestionnaire de fichier qui supporte les opérations de lecture. Ce gestionnaire permet la décompression à la volée de l'entrée.
Le gestionnaire ne sera pas touché par l'appel à la fonction rar_close().
Le flux résultant ne permet pas de vérifier l'intégrité des données. Par exemple, un fichier corrompu ou crypté avec une clé fausse ne sera pas détecté. Ce sera de la responsabilité du développeur d'utiliser le CRC de l'entrée pour vérifier son intégrité, s'il le souhaite.
Liste de paramètres
-
password
-
Le mot de passe à utiliser pour décrypter l'entrée. Si l'entrée n'est pas crypté, la valeur ne sera pas utilisée et peut être omise. Si ce paramètre est omis et que l'entrée est crypté, le mot de passe fourni lors de l'appel à la fonction rar_open() sera utilisé, si il a été fourni. Si un mauvais mot de passe est fourni, soit explicitement, soit implicitement via la fonction rar_open(), le flux résultant produira un affichage incorrect. Si aucun mot de passe n'est fourni alors qu'il est nécessaire, la méthode échouera et retournera
FALSE
. Vous pouvez vérifier si l'entrée est cryptée en utilisant la méthode RarEntry::isEncrypted().
Exemples
Exemple #1 Exemple avec RarEntry::getStream()
<?php
$rar_file = rar_open('example.rar');
if ($rar_file === false)
die("Échec lors de l'ouverture de l'archive Rar");
$entry = rar_entry_get($rar_file, 'Dir/file.txt');
if ($entry === false)
die("Impossible de trouver l'entrée demandée");
$stream = $entry->getStream();
if ($stream === false)
die("Échec lors de la récupération du flux.");
rar_close($rar_file); //le flux est indépendant du fichier
while (!feof($stream)) {
$buff = fread($stream, 8192);
if ($buff !== false)
echo $buff;
else
break; //erreur fread
}
fclose($stream);
?>
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-rarentry.getstream.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.