Я пытаюсь создать скрипт PHP, который получает и извлекает ZIP-файл.Первое, что я делаю, когда получаю файл, это пытаюсь извлечь файлы изнутри, чтобы убедиться, что все в порядке, и структура папок в zip такая, как должна.Если все идет хорошо, скрипт запускается и извлекает файлы.Проблема здесь.Кажется, что если я вызову zip_entry_read()
один раз для zip-записи, я получу контент, но если я вызову его снова для той же ссылки на zip-запись, он ничего не вернет.Метаданные все еще там.zip_entry_name()
, размер и все, что возвращает правильные данные, но не содержимое. Почему?
Вот и пример.
$target = zip_open("file.zip");
while (false !== ($entry = zip_read($target)) {
// ... some code here
$name = zip_entry_name($entry); // returns filename.txt
$filesize = intval(zip_entry_filesize($entry)); // returns the filesize
$data = zip_entry_read($entry, $filesize); // returns the content of the file
$name = zip_entry_name($entry); // returns the same filename.txt
$filesize = intval(zip_entry_filesize($entry)); // returns the same filesize
$data = zip_entry_read($entry, $filesize); // ---> returns NOTHING <---
// .. some more code here
}
Спасибо.