我有一个 zip 文件,我必须更新文件夹下的文件,以下块工作“很好”,它在指定的路径下正确添加文件 node.ndf。
但是如果我第二次或更多次运行它,它会复制文件夹下的文件
例如:
第一次运行:
文件.zip 内容:
清单.v3
ns/adapt/node.ndf
第二次运行:
清单.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');
}
任何人都知道 Archive::Zip 的正确用法是为了更新 zip 文件的文件夹结构下的文件?
提前致谢。