George, Rasmus' suggestion is correct, but he was terse as usual :) and you might not have understood what he was saying.
My solution is to present a list of the filenames available as LINKS (to non-existent files). Then the script does what you've already got. The problem is that some browsers "cheat" and ignore the filename that you send in the headers "because they think they know better" because of the URL that is currently active. So you fool them by making a fake URL. In my case I have links that look like: <a href="/dl.php/file.pdf">file.pdf</a> and my dl.php script looks something like: ... $uri = urldecode(substr($REQUEST_URI,8)); # skip over the /dl.php/ $x = strpos( $uri, "?" ); # get rid of trailing SID, etc. if( $x > 0 ) $uri = substr($uri,0,$x); header( ... header( ... readfile( "$realfileloc/$uri" ); ... Bill -- Bill Rausch, Software Development, Unix, Mac, Windows Numerical Applications, Inc. 509-943-0861 [EMAIL PROTECTED] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]