Archive_Tar::addModify()

Archive_Tar::addModify() – ファイルまたはディレクトリを追加する

Synopsis

require_once 'Archive/Tar.php';

boolean addModify ( mixed $filelist , string $add_dir , string $remove_dir = '' )

Description

このメソッドは既存のアーカイブに filelist にリストされたファイルやディレクトリを追加します。

もしアーカイブが存在しない場合、アーカイブを生成しようと試みます。 リストされるファイルやディレクトリは、アーカイブの最後にだけ追加されます。 しかしながら、アーカイブを展開する際に 最後のファイルは最初のファイルを上書きします。 これはアーカイブサイズの最適化がなされない、という結果になります。 もしファイルもしくはディレクトリが存在しない場合は無視されます。

Parameter

  • mixed $filelist - ファイル名やディレクトリ名の配列、 もしくは単一のスペースで区切られた名前の文字列を指定します

  • string $add_dir - リストにある各要素に追加するパスを含む文字列を指定します

  • string $remove_dir - 該当する場合、 リストにある各要素から削除するパスを含む文字列を指定します。

    add_dir で指定されたパスは、 リストされた各ファイル/ディレクトリの最初に付加されます。 しかし、空 '' に設定することもできます。 パスの追加はパスの削除の後実行されます。 パスの追加/削除機能により、オリジナルパスと異なるパスにアーカイブを 準備する事が可能です。

Return value

boolean - Returns TRUE on success, FALSE on failure.

Throws

Possible PEAR_Error values
エラーコード エラーメッセージ 理由 解決法
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" アーカイブに追加するファイルを読めませんでした 関数の引数のタイプミスやファイルの権限を確認してください

Note

This function can not be called statically.

Example

圧縮されたアーカイブの新規ディレクトリにファイルを追加する

<?php
$tar_object 
= new Archive_Tar("tarname.tar");
$v_list[0]="dev/file.txt";
$v_list[1]="dev/data/";
$v_list[2]="log/file.log";
$tar_object->addModify($v_list"install");
// アーカイブにストアされているファイルは次の通り :
//   install/file.txt
//   install/data
//   install/data/file1.txt
//   install/data/... data/ の全てのファイルやサブディレクトリ
//   install/file.log
?>

圧縮されたアーカイブの新規ディレクトリに移動しながらファイルを追加する

<?php
$tar_object 
= new Archive_Tar("tarname.tar");
$v_list[0]="dev/file.txt";
$v_list[1]="dev/data/";
$v_list[2]="log/file.log";
$tar_object->addModify($v_list"install""dev");
// アーカイブにストアされているファイルは次の通り :
//   install/file.txt
//   install/data
//   install/data/file1.txt
//   install/data/...         data/ の全てのファイルやサブディレクトリ
//   install/log/file.log
?>

圧縮されたアーカイブの新規ディレクトリに移動しながらファイルを追加する (特に Windows の場合)

<?php
$tar_object 
= new Archive_Tar("tarname.tar");
$v_list[0]="d:\\dev\\file.txt";
$v_list[1]="d:\\dev\\data\\";
$v_list[2]="d:\\log\\file.log";
$tar_object->addModify($v_list"install/temp""d:\\dev");
// アーカイブにストアされているファイルは次の通り :
//   install/temp/file.txt
//   install/temp/data
//   install/temp/data/file1.txt
//   install/temp/data/...         data/ の全てのファイルやサブディレクトリ
//   install/temp/log/file.log
?>

Windows システムでは、Windows のパスフォーマットが利用可能です。 しかしながら、ファイルが Windows のパスを使用している場合、 $remove_dir パラメータも Windows のパスフォーマットにしなければなりません。 $add_dir パラメータは、Windows もしくは UNIX のパスフォーマットで指定可能です。

ファイルまたはディレクトリを追加する (Previous) アーカイブファイルを作成する (Next)
Last updated: Thu, 31 Jul 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.