O branch main não está estável. Por favor, veja os lançamentos para uma versão estável.
Um downloader de arquivo zip de streaming rápido e simples para PHP. Usar esta biblioteca evitará que você tenha que gravar o Zip no disco. Você pode enviá-lo diretamente ao usuário, o que é muito mais rápido. Ele pode funcionar com buckets S3 ou qualquer fluxo PSR7.
Consulte o arquivo LICENSE para obter informações sobre licenciamento e garantia.
Basta adicionar uma dependência de maennchen/zipstream-php ao arquivo composer.json do seu projeto se você usar o Composer para gerenciar as dependências do seu projeto. Use o seguinte comando para adicionar o pacote às dependências do seu projeto:
composer require maennchen/zipstream-phpPara obter instruções detalhadas, verifique a documentação.
// Autoload the dependencies
require ' vendor/autoload.php ' ;
// create a new zipstream object
$ zip = new ZipStream ZipStream (
outputName: ' example.zip ' ,
// enable output of HTTP headers
sendHttpHeaders: true ,
);
// create a file named 'hello.txt'
$ zip -> addFile (
fileName: ' hello.txt ' ,
data: ' This is the contents of hello.txt ' ,
);
// add a file named 'some_image.jpg' from a local file 'path/to/image.jpg'
$ zip -> addFileFromPath (
fileName: ' some_image.jpg ' ,
path: ' path/to/image.jpg ' ,
);
// finish the zip stream
$ zip -> finish ();8.1ZipStreamOptionMethod foi substituída pela enumeração ZipStreamCompressionMethod .@internal e não deve ser usada externamente. Se você estiver usando recursos internos para estender esta biblioteca, abra um problema para que uma interface limpa possa ser adicionada e publicada. As classes e enumerações disponíveis externamente são:ZipStreamCompressionMethodZipStreamException*ZipStreamZipStreamZipStreamOptionArchive foi substituída em favor de argumentos nomeados no construtor ZipStreamZipStream .largeFileSize e largeFileMethod foram removidas. Se você quiser compressionMethods diferentes com base no tamanho do arquivo, você mesmo terá que implementá-los.httpHeaderCallback alterou o tipo de callable para Closure .zeroHeader foi substituída pela opção defaultEnableZeroHeader e pode ser substituída para cada arquivo. Seu valor padrão mudou de false para true .statFiles foi removida porque a biblioteca não verifica mais o tamanho dos arquivos dessa forma.deflateLevel foi substituída pela opção defaultDeflateLevel e pode ser substituída para cada arquivo.name ) do construtor ZipStreamZipStream foi substituído pelo argumento nomeado outputName .outputName estiver vazio. Se você não deseja enviar cabeçalhos HTTP automaticamente, defina sendHttpHeaders como false .ZipStreamOptionFile foi substituída em favor de argumentos nomeados nas funções ZipStreamZipStream->addFile* .method de opção de arquivo foi renomeado para compressionMethod .time foi renomeada para lastModificationDateTime .size foi renomeada para maxSize . https://github.com/maennchen/ZipStream-PHP/tree/2.0.0#upgrade-to-version-200
https://github.com/maennchen/ZipStream-PHP/tree/2.0.0#upgrade-to-version-100
ZipStream-PHP é um projeto colaborativo. Por favor, dê uma olhada no arquivo .github/CONTRIBUTING.md.
As versões são suportadas de acordo com a tabela abaixo.
Não abra nenhuma solicitação pull que contradiga o status de suporte da versão atual.
Cuidado: Sempre verifique o README na main para obter informações atualizadas.
| Versão | Novos recursos | Correções de bugs | Segurança |
|---|---|---|---|
| 3 | |||
| 2 | |||
| 1 | |||
| 0 |
Esta biblioteca se alinha com o suporte principal do PHP. Novos recursos e correções de bugs serão direcionados apenas às versões do PHP de acordo com seu status atual.
Veja: https://www.php.net/supported-versions.php