フォルダーの下のファイルを更新する必要があるzipファイルがあります。次のブロックは「うまく」機能し、指定されたパスの下にファイルnode.ndfを正しく追加します。
しかし、2回目以上実行すると、フォルダの下にファイルが複製されます
例として:
初回実行:
file.zip コンテンツ:
マニフェスト.v3
ns/adapt/node.ndf
2 回目の実行:
マニフェスト.v3
ns/adapt/node.ndf
ns/adapt/node.ndf
等々...
現在使用しているコードは次のとおりです。
$obj = Archive::Zip->new();
$status = $obj->read($file);
if ($status != AZ_OK) {
die('Error in file!');
} else {
@files = ('node.ndf');
foreach $filea (@files) {
$obj->addFile($filea);
$obj->addTreeMatching( '.', 'ns/adapt/', 'node.ndf' );
}
if ($obj->overwrite() != AZ_OK) {
print "Error in archive creation!";
exit;
} else {
print "Archive created successfully!";
}
unlink('node.ndf');
}
zip ファイルのフォルダー構造の下にあるファイルを更新するための Archive::Zip の正しい使用法を知っている人はいますか?
前もって感謝します。