@driverx18

Есть файл который весит ~6 гб, как его прочитать?

Есть файл который весит примерно 6 гб. Как его открыть, чтобы пхп не умер? Какие есть самые оптимальные способы?
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
Akdmeh
@Akdmeh
PHP, Yii2, Music
Используя:
$fh = fopen('file.log', 'r');

while(!feof($fh)) {
$string = fgets($fh); //получаем одну строчку с файла
}

Так вы будете читать файл построчно, оперативную память это почти будет не занимать, если вы, конечно же, не будете весь файл хранить в памяти, а только работать с ним построчно.
Ну и не лишним напомнить о возможной необходимости блокировки файла на всякий случай и т.д.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
Если предложения выше вам не помогут, и вам нужно весь файл зачем то считать в память, то воспользуйтесь 64-битной версией php, поправив в php.ini
memory_limit = 8192M

p.s. если ваш файл - картинка, смело умножайте на 4 ваши требования по оперативной памяти
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы