è probabilmente una questione di buffering... finché lo script non termina l'output non viene inviato al browser... dovresti disabilitare il buffering ed eventualmente fare un flush ogni volta che hai dei dati da inviare.