Ho la location del file salvata nell'array location[] e ho tutta l'intenzione di richiamare la posizione giusta dell'array (quella che contiene la location del file desiderato) tramite un'altra variabile:

header("Location: $location[$case]");

Questo script funziona. Però il mio problema era forzare la comparsa della mascherina di download "save as".
Ho guardato nei link consigliati dalle precedenti risposte.

Se non ho letto male, uno consigliava il comando forcedownload. L'ho provato. La mascherina compare, ma il file che viene chiesto di scaricare è il php che ha lanciato il download!

Ho provato con

header (...application/...)
header (Content-disposition: ... ...)

Ma anche così, come sopra, compare la mascherina ma fa scaricare il php!

Che devo fare?
Se per favore, anziche darmi link, mi copiate le righe interessanti, perchè le ultime volte avete linkato pagine piene di informazioni, non so quale fa per me...
Grazie x la disponibilità!