2016-07-06 6 views
0

私は現在、ファイルのボートロードを(PHPのZipArchiveクラスを使用して)容易にアーカイブできるバックアップシステムを再構築しようとしています。私が抱えている問題は、ZipArchiveは最大4GBまでのファイルしかサポートしていないということです。4GB以上は圧縮できません。ファイル名が100文字を超えてタールすることはできません。次は何ですか?

私は解決策たと思った:PharData

をしかしPharDataクラスは、独自の問題が付属しています、すなわち、ファイル名がtarアーカイブの100文字を超えることはできません。

私はコマンドラインユーザー(Zip64ファイルと拡張ヘッダーファイルtar)のソリューションについては読んだことがありますが、組み込みのソリューションやPHPにネイティブなものはありません。

私は仕事に適したツールがありませんか?それとも共通の障害物ですか?

ありがとうございました! (私は質問タイトル作成には恐ろしいです!)

編集:私がバックアップしているファイルは、ランダムな文字列でサーバーに保存されています。実際のファイル名は、ファイルが圧縮されたときに再入力されます。私はLinuxのコマンドラインにユーザーが提出したファイル名を渡すことに懸念しています。

+1

を使用するか、execコマンドを使用してlinuxコマンド – Ghost

答えて

1

PharData

さらには the Phar PHP application archiving formatの一部として使用されることを意図して読み取るために役に立つかもしれません。一般的な使用を意図したものではありません。

the Archive_Tar PEAR classを使用してtarアーカイブを作成します。

+0

を使用します。Archive_Tarを拡張して_writeHeaderを上書きすると、この解決策が完了したようです。参照:http://stackoverflow.com/a/15831608/3101412 – duckboy81

関連する問題