If you want the user to be prompted to save the data you are sending, such as a generated PDF file, you can use the Â» Content-Disposition header to supply a recommended filename and force the browser to display the save dialog.
// We'll be outputting a PDF
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// The PDF source is in original.pdf