Ich habe eine Zip-Datei, die ich eine Datei unter einem Ordner aktualisieren muss, funktioniert der folgende Block "gut", fügen Sie korrekt die Datei node.ndf unter dem angegebenen Pfad.Archiv :: Zip-Duplizierung hinzugefügt Dateien - Wie aktualisiere ich Dateien in einem Zip korrekt?
Aber wenn ich es zum zweiten Mal oder mehr laufen, dupliziert es die Datei unter dem Ordner
als Beispiel:
erstes Mal laufen:
file.zip Inhalt:
manifest.v3
ns/anpassen/node.ndf
zweites Mal laufen:
manifest.v3
ns/anpassen/node.ndf
ns/anpassen/node.ndf
und so weiter ...
Hier ist der Code im zur Zeit mit:
$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');
}
Wer weiß, die richtige Verwendung von Archiven :: Zip, um eine Datei unter einer Ordnerstruktur in der Zip-Datei zu aktualisieren?
Vielen Dank im Voraus.
Hallo, Dank für Sie antworten funktionierte wie vorgesehen mit: $ obj-> updateMember ('ns/adapt/node.ndf', 'node.ndf'); –