Hallo Felix,
Ich habe in Deinem geposteten Code gesehen, dass vor dem "<?php" ein oder mehrere Leerzeichen stehen. Das solltest Du vermeiden! Das gibt großen Ärger bei den heruntergeladenen Dateien und bei der obigen header()-Funktion!
vor allem hat er gar kein "Download-Script", sondern nur ein Script, das aus einem Verzeichnis auf dem Server eine Reihe von HTML-Links generiert. Das hat aber mit dem eigentlichen Ansinnen gar nichts zu tun.
Ciao,
Martin