Как удалить контент из начала файла, при работате с fopen()?
Нет, рассчитывать, что файлы будут маленькие - это плохое решение. Большие файлы нужно обрабатывать с помощью генераторов (если конечно версия php позволяет )
Чтобы "отгрызть" кусок файла с конца, не создавая при этом новый, можно воспользоваться функцией ftruncate - откинуть лишнюю часть файла.
"Отгрызть" сначала, не создавая новый файл, не получится. Нужно только обрабатывать кусками.
1. чтобы не "повесить" систему, надо всегда обрабатывать файлы через "окно", т.е. фиксированными блоками (бинарные данные или текстовые с о-о-очень длинными "строками") или построчно (для коротких строк), считывая через fgets (пример) - резервируется кусок памяти под размер конкретной строки.
2. альтернативно, можно "отгрызать" при помощи потоковых обработчиков типа sed, gawk (GNU) - регулярками или другими специальными средствами. Есть также logrotate, но это другое, для файлов журналов.