この形式については再度説明しません。 ここまたは以前の記事でかなり詳しく説明しています。 今回は、ライブラリでできることと、今後ライブラリを拡張する方法を検討します。
作業例
- $ rar = new store_rar ; #クラスのインスタンスを作成
- $ rar- > create ( "archive.rar" ) ; #アーカイブを作成
- $ rar- > addFile ( "a.txt" ) ; #a.txtファイルを書き込みます
- $ rar- > addDirectory ( "b / c" ) ; #サブディレクトリ「c」でアーカイブにディレクトリ「b」を作成
- $ rar- > addFile ( "d / e.txt" ) ; #ディレクトリ「d」を作成し、e.txtを書き込みます
- $ rar- > close ( ) ; #アーカイブを閉じる
GitHubにコメントを付けてコードを取得できます 。
しかし、実際には?
このクラスが何ができるか見てみましょう:
- 「空の」rarアーカイブを作成します:)
-
addDirectory
1回呼び出すだけで、ネストされたディレクトリを作成します。 - アーカイブに既に存在するディレクトリを作成する場合、新しいディレクトリは作成されません。
- 最初に作成せずに、ファイルをサブディレクトリに書き込みます。
留意すべきこと:
-
「アーカイブ済み」ファイルがすでにアーカイブに追加されている場合、アーカイブには同じ名前の2つの(など)ファイルがあります。 - このクラスは、Unicode文字をサポートしていません(これは、RARの3.xバージョンに含まれています)。
- アーカイブ内のファイルの名前変更、削除、移動、アーカイブへのファイルの追加、ファイルの解凍のための機能はありません。
- マルチボリュームアーカイブはサポートされていません。
このライブラリが必要な理由:
- 特定のボリュームのファイルをすばやくアーカイブし、それらを単一のアーカイブとしてユーザーに送信するため。
- rar.dllなしでRARにアーカイブできるという事実の証拠として:)
今後私がしたいこと:
- アーカイブ内のファイルの操作のサポート。
- ユニコード名のサポート。
- アーカイブのボリュームへの内訳;
- パスワードで「アーカイブ」-何が可能かわからない。