Чтение очень больших файлов в PHP

fopen терпит неудачу, когда я пытаюсь прочитать в файле очень среднего размера вPHP. A 6 meg file заставляет его задыхаться, хотя небольшие файлы вокруг100k просто отлично. Я читал, что иногда необходимо перекомпилироватьPHP с-D_FILE_OFFSET_BITS=64 флаг, чтобы читать файлы более 20 гигов или что-то смешное, но разве у меня не должно быть проблем с 6-мегабайтным файлом? В конце концов мы захотим прочитать файлы размером около 100 мегабайт, и было бы неплохо иметь возможность открывать их, а затем читать их построчно с помощью fgets, как я могу делать с небольшими файлами.

Каковы ваши хитрости / решения для чтения и выполнения операций с очень большими файлами вPHP?

Обновление: вот пример простого кодового блока, который не работает на моем 6-мегабайтном файле - PHP, похоже, не выдает ошибку, он просто возвращает false. Может быть, я делаю что-то чрезвычайно глупое?

$rawfile = "mediumfile.csv";

if($file = fopen($rawfile, "r")){  
  fclose($file);
} else {
  echo "fail!";
}

Еще одно обновление: спасибо всем за помощь, оказалось, что это что-то невероятно глупое - проблема с разрешениями. Мой маленький файл необъяснимо имел права на чтение, а больший - нет. Doh!

Ответы на вопрос(8)

Ваш ответ на вопрос