main
ветка не стабильна. Пожалуйста, ознакомьтесь с выпусками стабильной версии.
Быстрый и простой загрузчик потоковых zip-файлов для PHP. Использование этой библиотеки избавит вас от необходимости записывать Zip на диск. Вы можете напрямую отправить его пользователю, что намного быстрее. Он может работать с сегментами S3 или любым потоком PSR7.
Информацию о лицензировании и гарантии см. в файле ЛИЦЕНЗИИ.
Просто добавьте зависимость от maennchen/zipstream-php в файл composer.json
вашего проекта.json, если вы используете Composer для управления зависимостями вашего проекта. Используйте следующую команду, чтобы добавить пакет в зависимости вашего проекта:
composer require maennchen/zipstream-php
Подробные инструкции можно найти в документации.
// 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.1
ZipStreamOptionMethod
был заменен перечислением ZipStreamCompressionMethod
.@internal
и не должны использоваться извне. Если вы используете внутренние ресурсы для расширения этой библиотеки, откройте проблему, чтобы можно было добавить и опубликовать чистый интерфейс. Доступные извне классы и перечисления:ZipStreamCompressionMethod
ZipStreamException*
ZipStreamZipStream
ZipStreamOptionArchive
был заменен именованными аргументами в конструкторе ZipStreamZipStream
.largeFileSize
и largeFileMethod
были удалены. Если вам нужны разные compressionMethods
в зависимости от размера файла, вам придется реализовать это самостоятельно.httpHeaderCallback
изменила тип с callable
на Closure
.zeroHeader
была заменена опцией defaultEnableZeroHeader
и может быть переопределена для каждого файла. Его значение по умолчанию изменилось с false
на true
.statFiles
была удалена, поскольку библиотека больше не проверяет файлы таким образом.deflateLevel
была заменена опцией defaultDeflateLevel
и может быть переопределена для каждого файла.name
) конструктора ZipStreamZipStream
был заменен именованным аргументом outputName
.outputName
пусто. Если вы не хотите автоматически отправлять заголовки http, установите для sendHttpHeaders
значение false
.ZipStreamOptionFile
был заменен именованными аргументами в функциях ZipStreamZipStream->addFile*
.method
параметра файла был переименован в compressionMethod
.time
был переименован в lastModificationDateTime
.size
параметра файла был переименован в 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 — совместный проект. Пожалуйста, взгляните на файл .github/CONTRIBUTING.md.
Поддерживаются версии согласно таблице ниже.
Пожалуйста, не открывайте запросы на включение, противоречащие текущему статусу поддержки версии.
Осторожно: всегда проверяйте README
на main
для получения актуальной информации.
Версия | Новые возможности | Исправления ошибок | Безопасность |
---|---|---|---|
3 | |||
2 | |||
1 | |||
0 |
Эта библиотека соответствует основной поддержке PHP. Новые функции и исправления будут нацелены только на версии PHP в соответствии с их текущим статусом.
См.: https://www.php.net/supported-versions.php.