Какие-то неправильные у вас пчёлы,
$arr=explode(NL,file_get_contents($file));
- это плохо для любого языка, не только php, читать весь файл в память.
Вот
тут есть пример для перемешивания файла, без его полной загрузки, с использованием позиций строк.