このメソッドは既存のアーカイブに filelist
にリストされたファイルやディレクトリを追加します。
もしアーカイブが存在しない場合、アーカイブを生成しようと試みます。 リストされるファイルやディレクトリは、アーカイブの最後にだけ追加されます。 しかしながら、アーカイブを展開する際に 最後のファイルは最初のファイルを上書きします。 これはアーカイブサイズの最適化がなされない、という結果になります。 もしファイルもしくはディレクトリが存在しない場合は無視されます。
mixed $filelist -
ファイル名やディレクトリ名の配列、
もしくは単一のスペースで区切られた名前の文字列を指定します
string $add_dir -
リストにある各要素に追加するパスを含む文字列を指定します
string $remove_dir -
該当する場合、
リストにある各要素から削除するパスを含む文字列を指定します。
add_dir で指定されたパスは、
リストされた各ファイル/ディレクトリの最初に付加されます。
しかし、空 '' に設定することもできます。
パスの追加はパスの削除の後実行されます。
パスの追加/削除機能により、オリジナルパスと異なるパスにアーカイブを
準備する事が可能です。
表 38-1PEAR_Error の値
| エラーコード | エラーメッセージ | 理由 | 解決法 |
|---|---|---|---|
| NULL | "Invalid file list" | 関数に対する引数が正しくフォーマット、 あるいは構成されていません | 引数のタイプミスを確認してください |
| NULL |
"Unable to open in write mode file name"
| 既存ファイルのファイル権限が書き込みを許可していない、 もしくはファイルがロックされています。 | 権限、または当該ファイルを使用しているプログラムの競合の可能性を 確認してください the file. |
| NULL | "Invalid file list" | アーカイブが空、もしくは破損しています | |
| NULL |
"File filename does not exist"
| アーカイブに追加するファイルが存在しません | 関数の引数のタイプミスを確認してください |
| NULL |
"Directory dirname can not be read"
| アーカイブに追加するディレクトリもしくはファイルが存在しない、 もしくはディレクトリの読み込み権限がありません | 関数の引数のタイプミスや権限を確認してください |
| NULL |
"Unable to open file filenamein binary read mode"
| アーカイブに追加するファイルを読めませんでした | 関数の引数のタイプミスやファイルの権限を確認してください |
例 38-2 圧縮されたアーカイブの新規ディレクトリに移動しながらファイルを追加する
|
例 38-3 圧縮されたアーカイブの新規ディレクトリに移動しながらファイルを追加する (特に Windows の場合)
|
Windows システムでは、Windows のパスフォーマットが利用可能です。
しかしながら、ファイルが Windows のパスを使用している場合、
$remove_dir パラメータも Windows
のパスフォーマットにしなければなりません。
$add_dir パラメータは、Windows もしくは
UNIX のパスフォーマットで指定可能です。