PHP 8.4.0 RC2 available for testing

zlib://

bzip2://

zip://

zlib:// -- bzip2:// -- zip://Flujos de compresión

Descripción

zlib: PHP 4.0.4 - PHP 4.2.3 (sólo en sistemas con fopencookie)

compress.zlib:// and compress.bzip2:// PHP 4.3.0 y superior

zlib: funciona como gzopen(), solo que usando el flujo, se puede utilizar con fread() al igual que con otras funciones del sistema de ficheros. Esto quedó obsoleto en PHP 4.3.0 debido a la ambigüedad que surge con los nombres de fichero que contienen el caracter ':'; en su lugar, debe usarse compress.zlib://.

compress.zlib:// y compress.bzip2:// son equivalentes a gzopen() y a bzopen() respectivamente, y funcionan incluso en sistemas que no tienen soporte para fopencookie.

La extensión ZIP registra la envoltura zip:.

Uso

  • compress.zlib://file.gz
  • compress.bzip2://file.bz2
  • zip://archive.zip#dir/file.txt

Opciones

Resumen de la Envoltura
Atributo Permitido
Restringido por allow_url_fopen No
Permite Lecturas
Permite Escrituras Sí (excepto zip://)
Permite Añadir contenidos Sí (excepto zip://)
Permite Lecturas y Escrituras Simultaneas No
Permite usar la función stat() No, utilice la envoltura file:// para consultar la información de un fichero.
Permite usar la función unlink() No, utilice la envoltura file:// para eliminar ficheros comprimidos.
Permite usar la función rename() No
Permite usar la función mkdir() No
Permite usar la función rmdir() No

add a note

User Contributed Notes 2 notes

up
18
lewa::cpan.org
7 years ago
One-liners to gzip and ungzip a file:

copy('file.txt', 'compress.zlib://' . 'file.txt.gz');

copy('compress.zlib://' . 'file.txt.gz', 'file.txt');
up
11
alvaro at demogracia dot com
13 years ago
Example on how to read an entry from a ZIP archive (file "bar.txt" inside "./foo.zip"):

<?php

$fp
= fopen('zip://./foo.zip#bar.txt', 'r');
if(
$fp ){
while( !
feof($fp) ){
echo
fread($fp, 8192);
}
fclose($fp);
}

?>

Also, apparently, the "zip:" wrapper does not allow writing as of PHP/5.3.6. You can read http://php.net/ziparchive-getstream for further reference since the underlying code is probably the same.
To Top