fopen плохая идея для больших файлов. Вот в принципе нормальные решения: http://habrahabr.ru/post/151795/