file_get_contents читает в память. Нет памяти - нет печенек, смотри в логах ошибок... Попробуй читать в цикле fopen-fread не весь файл, а кусочками по 64к, к примеру. Eдинственная проблема - нужно не потерять возможный "хвост", например перекидывая последние 5 символов от предыдущего чтения в начало следующего.