(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)
ZipArchive::getStream — Récupère un gestionnaire de fichier pour l'entrée définie par son nom (lecture seule)
Récupère un gestionnaire de fichier pour l'entrée définie par son nom. Actuellement, cette fonction ne supporte que les opérations de lecture.
name
Le nom de l'entrée à utiliser
Retourne un pointeur de fichier (ressource) en cas de succès, ou false
si une erreur survient.
Exemple #1 Récupère le contenu de l'entrée ZIP
<?php
$contents = '';
$z = new ZipArchive();
if ($z->open('test.zip')) {
$fp = $z->getStream('test');
if(!$fp) exit("échec\n");
while (!feof($fp)) {
$contents .= fread($fp, 2);
}
fclose($fp);
file_put_contents('t',$contents);
echo "fait.\n";
}
?>
Exemple #2 Récupère une entrée Zip avec la fonction fopen() et le gestionnaire de flux ZIP
<?php
$contents = '';
$fp = fopen('zip://' . dirname(__FILE__) . '/test.zip#test', 'r');
if (!$fp) {
exit("impossible d'ouvrir\n");
}
while (!feof($fp)) {
$contents .= fread($fp, 2);
}
echo "$contents\n";
fclose($fp);
echo "fait.\n";
?>
Exemple #3 Gestionnaire de flux et image, peut être utilisé également avec les fonctions XML
<?php
$im = imagecreatefromgif('zip://' . dirname(__FILE__) . '/test_im.zip#pear_item.gif');
imagepng($im, 'a.png');
?>