Подтвердить что ты не робот

Как читать один файл внутри zip-архива

Мне нужно прочитать содержимое одного файла "test.txt" внутри zip файла. Весь zip файл - очень большой файл (2gb) и содержит много файлов (10 000 000), и поэтому извлечение всего этого не является жизнеспособным решением для меня. Как я могу прочитать один файл?

4b9b3361

Ответ 1

Попробуйте использовать zip:// wrapper:

$handle = fopen('zip://test.zip#test.txt', 'r'); 
$result = '';
while (!feof($handle)) {
  $result .= fread($handle, 8192);
}
fclose($handle);
echo $result;

Вы можете использовать file_get_contents:

$result = file_get_contents('zip://test.zip#test.txt'); 
echo $result;