zip stream
1.0.0
Perpustakaan ini adalah untuk menghasilkan file zip besar dengan jejak memori rendah. Isi file zip tidak pernah disimpan dalam memori sekaligus. Semuanya ditulis menggunakan stream. Perpustakaan ini hanya untuk menulis file zip dan tidak memiliki kemampuan membaca.
Lisensi MIT
Satu -satunya persyaratan adalah PHP 7.0+ dan ekstensi Zlib (hampir selalu diaktifkan).
composer require jdwil/zip-stream
./vendor/bin/phpspec run
$zipStream = ZipStream::forFile('/path/to/file.zip');
// Add a file from disk
$zipStream->addFileFromDisk('foo.txt', '/path/to/foo.txt');
// Add a file from a stream
$stream = ReadStream::forFile('/path/to/bar.txt');
$zipStream->addFileFromStream('bar.txt', $stream);
// Add arbirary data
$zipStream->addFile('baz.txt', 'some arbitrary text');
// Always close the Zip Stream
$zipStream->close();
$zipStream = ZipStream::forFile('/path/to/file.zip');
$zipStream->beginFile('foo.txt');
while ($data = $somePdoStatement->fetch()) {
$zipStream->addFilePart(implode(',', $data));
}
$zipStream->endFile();
$zipStream->close();
File dikirim saat sedang dibangun, sehingga unduhan segera dimulai untuk pengguna.
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="foo.zip"');
header('Content-Transfer-Encoding: binary');
$zipStream = ZipStream::forFile('php://output');
// Build your zip file
$zipStream->close();
JD Williams [email protected]