Чисто моё мнение коллекциям в php не хватает дженериков, любые действия над коллекцией должны возвращать копию, то есть должна быть имутабельность
По вашему вопросу, вариантов есть несколько, работа с массивами и с итераторами.
Ну сначала чтоб редирект работал надо exit добавить, второе это коунт в цикле надо вынести, так как его вычисляет каждую итерацию
Сравнение через === это третье
Четвёртое, file не тримит перенос строки, то есть чтоб все заработало, надо сделать trim
Пятое для подобных циклов лучше использовать foreach
Шестое это нужно объединить два условия в одно через &&
Седьмое это переменная d ни где не участвует
Походу надо было в ответ)
Для формирования страниц нужно 3 параметра знать
Номер страницы, количество на страницу и общее количество
Далее надо чуть математики добавить чтоб вычислить лимит и офсет для запроса https://github.com/Compolomus/Pagination