ZipArchive::getStream
(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)
ZipArchive::getStream — Obtener un manejador de fichero para la entrada definido por su nombre (sólo lectura)
Descripción
Obtener un manejador de fichero para la entrada definido por su nombre. Por ahora, éste solamente
soporta operaciones de lectura.
Parámetros
name
-
El nombre de la entrada a utilizar.
Valores devueltos
Devuelve un puntero de fichero (un recurso) en caso de tener éxito, o false si ocurre un error.
Ejemplos
Ejemplo #1 Obtiene los contenidos de entrada con fread() y lo almacena
<?php
$contents = '';
$z = new ZipArchive();
if ($z->open('test.zip')) {
$fp = $z->getStream('test');
if(!$fp) exit("failed\n");
while (!feof($fp)) {
$contents .= fread($fp, 2);
}
fclose($fp);
file_put_contents('t',$contents);
echo "done.\n";
}
?>
Ejemplo #2 Lo mismo como el ejemplo anterior pero con fopen() y el envoltorio de flujo de zip
<?php
$contents = '';
$fp = fopen('zip://' . dirname(__FILE__) . '/test.zip#test', 'r');
if (!$fp) {
exit("cannot open\n");
}
while (!feof($fp)) {
$contents .= fread($fp, 2);
}
echo "$contents\n";
fclose($fp);
echo "done.\n";
?>
Ejemplo #3 El flujo de envoltorio y la imagen, también pueden ser utilizados con la función xml
<?php
$im = imagecreatefromgif('zip://' . dirname(__FILE__) . '/test_im.zip#pear_item.gif');
imagepng($im, 'a.png');
?>