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:// — Fluxos de compactação
compress.zlib:// e compress.bzip2://
zlib: funciona como gzopen(), exceto que o fluxo pode ser usado com fread() e outras funções do sistema de arquivos. Isso foi descontinuado devido a ambiguidades com nomes de arquivos contendo caracteres ':'; use compress.zlib:// em vez disso.
compress.zlib:// e compress.bzip2:// são equivalentes para gzopen() e bzopen() respectivamente, e funcionam mesmo em sistemas que não suportam fopencookie.
A extensão ZIP registra o empacotador zip:. a partir do
PHP 7.2.0 e libzip 1.2.0+, foi adicionado suporte para as senhas para arquivos criptografados, permitindo
que as senhas sejam fornecidas por contextos de fluxo. As senhas podem ser definidas usando 'password',
uma opção de contexto de fluxo.
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.