Warum willst du dafür extra ein Script bemühen? Das müsste bei jedem Download erst den PHP-Interpreter anwerfen und die Datei durch das PHP-Script schleusen. Unnötige Serverbelastung, wenn doch der Apache das alles schon ganz alleine kann. Und im Gegensatz zu einem Script, dass die Verzeichnisinhalte nur einmal täglich erfasst, ist die Verzeichnisliste des Apachen immer aktuell.
Der Apache hat für sowas
Konfigurationsdirektiven und
stellt auch Verzeichnisinhalte ganz nett dar. Beim "Anklicken" wird die jeweilige Datei angezeigt|heruntergeladen (das hängt vom Dateityp und von den Einstellungen des Webservers und des Browsers ab). Einen expliziten Download erreicht der Benutzer meist über das Kontextmenü eines Links in seinem Browser (Rechtsklick -> Save Target as ... in meinem Opera zum Beispiel).