@driverx18

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
ООО РК Роял Набережные Челны
от 35 000 до 50 000 руб.
ISS Москва
До 140 000 руб.
Involta Иваново
от 40 000 руб.
22 февр. 2019, в 14:57
800 руб./в час
22 февр. 2019, в 14:54
8500 руб./за проект
22 февр. 2019, в 14:29
1000 руб./за проект