Вместо использования header("Location: ...");
, попробуйте это:
die('<script type="text/javascript">location.href = "'.$new_location.'";</script>');
Это обойдет ошибку цикла перенаправления.
РЕДАКТИРОВАТЬ: еще лучше:
die('Some progress information here...
<script type="text/javascript">
setTimeout(function() {location.href = "'.$new_location.'"},50);
</script>');
Таким образом, вы можете отобразить некоторую информацию о прогрессе.