2016-07-06 2 views
0

Я расширяю класс ZipArchive, и я открываю zip-файл в конструкторе, затем я добавил $this->close() в деструктор. По-видимому, мне нужно закрыть архив раньше в некоторых случаях, и попытка его снова закрыть в деструкторе выдает исключение.Вызов ZipArchive :: close() - это необходимо?

В документации не очень понятно, как проверить, есть ли в данный момент файл, открытый в объекте, поэтому мне было интересно - мне действительно нужно закрыть его вообще, так как я знаю, что php автоматически закрывает все дескрипторы файлов и прочее в конце исполнения?

ответ

0

ZipArchive :: close() не просто закрывает дескриптор файла, но также записывает все данные центрального каталога и дальнейшие метаданные, поэтому его вызов является обязательным.

Смежные вопросы