header("Location: http://www.server.com/file.zip");
should do the trick. This means that you cannot output any data to the browser before redirecting, so watch out 🙂
You could also, I suppose, output a meta tag or some javascript code to redirect the browser, but a header is better IMHO.
However, keep in mind that this technique does not prevent others from downloading the file while its in the temporary location. If this is of any importance, you should probably rethink your approach to the problem. Using a htaccess protected directory is another approach you could give some thoughts. You could also store the actual file in the database, using a blob or longblob field (mysql), but this is pretty likely to cause errors such as exceeding max execution time of scripts if the files are large or connections are slow.