One-liners to gzip and ungzip a file:
copy('file.txt', 'compress.zlib://' . 'file.txt.gz');
copy('compress.zlib://' . 'file.txt.gz', 'file.txt');
zlib:// -- bzip2:// -- zip:// — Flujos de compresión
compress.zlib:// y compress.bzip2://
zlib: funciona como gzopen(), excepto que el flujo puede ser utilizado directamente con fread() y otras funciones del sistema de archivos. Esta notación está obsoleta debido a ambigüedades con nombres de archivos que contienen dos puntos ':'. Utilice en su lugar compress.zlib://.
compress.zlib:// y compress.bzip2:// son equivalentes respectivamente a gzopen() y bzopen(), y funcionan incluso en sistemas que no soportan fopencookie.
La extensión ZIP proporciona el envoltorio
zip:. A partir de PHP 7.2.0 y libzip 1.2.0+,
se ha añadido el soporte para contraseñas en archivos cifrados,
permitiendo que las contraseñas sean proporcionadas por contextos de flujo.
Las contraseñas pueden ser definidas en un flujo utilizando la opción de
contexto 'password'
.
One-liners to gzip and ungzip a file:
copy('file.txt', 'compress.zlib://' . 'file.txt.gz');
copy('compress.zlib://' . 'file.txt.gz', 'file.txt');
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.