2010-11-12 13 views
17

ZipArchive (veya yerel bir PHP sınıfı) kullanarak bellekteki bir zip dosyasını oluşturmak ve dosyanın içeriğini istemciye geri okumak istiyorum. Mümkün mü? Öyleyse nasıl?Dosyayı diske yazmadan PHP sınıfı ZipArchive kullanarak bir zip dosyası oluşturun?

Bu uygulamada sıkıştırmak istediğim dosyalar toplamda en fazla 15 MB'dir. Bence iyi bir şekilde bellek olarak olmalıyız.

+2

Kopyala: http://stackoverflow.com/questions/1061710/php-zip-files-on-the-fly – pestaa

+0

ve PHP'nin kullanabileceği bellek miktarını aşan zip arşivlerini nasıl kullanacaksınız? – stillstanding

+0

Lütfen bu sorunun açık kalmasına izin verin, http://stackoverflow.com/questions/1061710/php-zip-files-on-the-fly yararlı cevaplar alabileceği şekilde sorulmuştur. – CLJ

cevap

3

Aşağıdaki kütüphaneye bir göz atın, zip dosyaları oluşturmaya ve bunları bir akış olarak döndürmeye izin verir: PHPClasses.org.

+3

Standart php kitaplığına özgü bir şey isterim. – CLJ

+0

Eğer sorabilirsem bunun için bir neden var mı? –

+2

Dolayısıyla, bir bağımlılık içinde sürüklenmem ve zaman içinde bunu sürdürmem gerekmiyor. Standart kitaplığa dahil edilirse, php sürümlerini yükselttiğimde uyumsuzlukla ilgili endişelenmem gerekmeyecektir. – CLJ

1

ZipStream'u deneyin (GitHub repo'ya bağlantı, ayrıca Composer aracılığıyla yükleme özelliğini de destekler). (Şimdi ölü) orijinal yazarın web sitesinden

:

ZipStream dinamik sunucu üzerinde hiç diske yazmadan PHP dinamik zip dosyaları Akış için bir kütüphanedir.

+0

Ölü bağlantı için iyi bir yedek olduğunu buldum: https://github.com/maennchen/ZipStream-PHP '$ zip = new \ ZipStream \ ZipStream ('bulk-export.zip'); $ zip-> addFile ('users.csv', '(burada başka bir yöntemle üretilen csv verileri)'); $ zip-> finish(); ' – Hans

+0

@Hans güncellendi, teşekkürler! –

İlgili konular