状況
- .zip ファイルがあります。この .zip にはフォルダ "dist/" があり、フォルダ "dist/" には次の 2 つがあります。1) 別のフォルダ "lib/" 2) jar ファイル
- .zip を開き、dist/jar ファイルを抽出します。ディスク「dist」に「新しい」フォルダーが表示され、その中にjarが含まれます
- ZipArchive で jar ファイルを開き、必要に応じてこれを編集します。編集は addFromString() によって保存されます
ここからが肝心な部分です
- jar ファイルを .zip に再度追加したい
- $zip->addFile($newdir . 'dist/' . $corefile, 'dist/' . $corefile) を実行してこれを行います
どこ:
- $newdir は、ローカル ディスク上の、抽出/編集された jar ファイルを含む「新しい」dist/ フォルダーへの絶対パスです。
- $corefile は、抽出/使用された jar ファイルのファイル名です
- 編集したjarファイルをzip内のdist/フォルダーに追加したい
何が起こるのですか
- jar ファイルが正常に編集されました
- jar を .zip に追加し直す際にエラーは発生しません。
- 変更した .zip および .jar を開くと、何も変更されません。
私は何を間違っていますか?
ありがとう!
- 編集:
問題が見つかりました。
編集した jar を .zip に戻した後、 $zip->close() の前に、ローカル ディスク上の jar を完全に削除しました。close() は明らかに機能しなかったため、変更は保存されませんでした。
私たちは何を学びましたか?
close() 削除する前に/...ファイルを!