Чтение очень больших файлов в PHP
fopen
терпит неудачу, когда я пытаюсь прочитать в файле очень среднего размера в.PHP
A 6 meg file
заставляет его задыхаться, хотя небольшие файлы вокруг100k
просто отлично. я'прочитал, что иногда нужно перекомпилироватьPHP
с-D_FILE_OFFSET_BITS=64
флаг, чтобы читать файлы более 20 концертов или что-то смешное, но неt У меня нет проблем с файлом 6 Мб? В конце концов мыЯ захочу прочитать файлы размером около 100 мегабайт, и было бы неплохо иметь возможность открывать их, а затем читать их построчно с помощью fgets, пока яЯ могу сделать с меньшими файлами.
Каковы ваши хитрости / решения для чтения и выполнения операций с очень большими файлами?PHP
Обновление: здесьПример простого кодового блока, который не работает на моем 6-мегабайтном файле - PHP не делаеткажется, выдает ошибку, он просто возвращает false. Может я'я делаю что-то чрезвычайно глупое?
$rawfile = "mediumfile.csv";
if($file = fopen($rawfile, "r")){
fclose($file);
} else {
echo "fail!";
}
Еще одно обновление: спасибо всем за помощь, оказалось, что это что-то невероятно глупое - проблема с разрешениями. Мой маленький файл необъяснимо имел права на чтение, когда больший файл нет. Doh!