Оператор REQUIRE заменяет себя содержимым указанного файла, похоже на то,как в препроцессоре C работает #include.
Это означает, что вы не можете поместить require() внутрь цикла и ожидать, что он включит содержимое дугого файла несколько раз в процессе каждой итерации. Для это используйте INCLUDE.
require ('header.inc');
Содержание раздела