ZipArchive - addFile не будет работать - PullRequest
2 голосов
/ 09 июня 2011

Ситуация

  • У меня есть файл .zip.В этом .zip находится папка «dist /», в папке «dist /» находятся 2 вещи: 1) другая папка «lib /» 2) jar-файл
  • Я открываю .zip и распаковываюdist / jar-файл.На моем диске появится «новая» папка «dist» с jar-файлом
  • Я открываю jar-файл с помощью ZipArchive и редактирую его, где это необходимо.Изменения сохраняются с помощью addFromString ()

Теперь важная часть

  • Я хочу повторно добавить jar-файл в .zip
  • Я делаю это с помощью $ zip-> addFile ($ newdir. 'Dist /'. $ Corefile, 'dist /'. $ Corefile)

где:

  • $ newdir - это абсолютный путь к «новой» папке dist / с извлеченным / отредактированным jar-файлом на моем локальном диске
  • $ corefile - имя файла извлеченного / использованного jar-файла
  • Я хочу добавить отредактированный jar-файл в папку dist / внутри zip-файла

Что происходит

  • jar-файл успешно отредактирован
  • Никаких ошибок не возникает при добавлении баночки обратно в .zip
  • Когда я открываю измененные .zip и .jar, ничего не меняется.

Что я делаюне так?

Спасибо!

- РЕДАКТИРОВАТЬ:

Обнаружил проблему.

После того, как я добавил отредактированную банку обратно в .zip, я эмигрировалудалил банку на моем локальном диске,ДО $ zip-> close ();Очевидно, что close () не работал, поэтому изменения не были сохранены.

Что мы узнали?

close () ДО того, как вы удалите / ... любые файлы!

...