PHPでZIPファイルを作成するためのクラスを作成しています。サーバーで許可されていないことを前提としたZipArchiveの代替手段。それらの無料サーバーで使用するもの。
これはすでに機能しており、PHPでZIP構造を構築し、gzdeflate()を使用して圧縮データを生成します。
問題は、gzdeflate()ではファイル全体をメモリにロードする必要があり、クラスを32MBのメモリに制限して動作させたいということです。現在、16MBを超えるファイルを圧縮せずに保存しています。
データを16MBx16MBのブロックに圧縮する必要があると思いますが、2つのgzdeflate()の結果を連結する方法がわかりません。
私はそれをテストしてきましたが、最後の16ビットでいくつかの計算が必要なようです、ある種buff->last16bits = (buff->last16bits & newblock->first16bits) | 0xfffe
、それは機能しますが、すべてのサンプルに対してではありません...
質問:解凍せずに2つのDEFLATEDストリームを連結するにはどうすればよいですか?