У меня мало текстовых файлов размером более 30MB
.Как читать гигантский текстовый файл в PHP?
Как я могу читать такие гигантские текстовые файлы с PHP?
У меня мало текстовых файлов размером более 30MB
.Как читать гигантский текстовый файл в PHP?
Как я могу читать такие гигантские текстовые файлы с PHP?
Если вам не нужна работа со всеми данными в тот же момент, вы можете прочитать их в деталях. Пример для двоичных файлов:
<?php
$handle = fopen("/foo/bar/somefile", "rb");
$contents = '';
while (!feof($handle)) {
$block = fread($handle, 8192);
do_something_with_block($block);
}
fclose($handle);
?>
Приведенных выше пример может сломаться мультибайтными кодировки (в случае, если есть многобайтовый через границу 8192 байт - например Ǿ
в UTF-8), так и для файлов, которые имеют значимые лицевые линии (например, текст), попробуйте следующее:
<?php
$handle = fopen("/foo/bar/somefile", "rb");
$contents = '';
while (!feof($handle)) {
$line = fgets($handle);
do_something_with_line($line);
}
fclose($handle);
?>
Насколько я знаю, 'fgets()' все равно испортит его, если в кодировке файла нет ASCII-совместимых однобайтовых строк, например. UTF-16. – scy
Прочитайте, а затем выполните что? –