Php implementation code of force download type

Source: Internet
Author: User
Sometimes some files cannot be opened online, but need to be downloaded after execution. This function can be used to solve the problem. The code is as follows:

Function downloadFile ($ file ){
/* Coded by Alessio Delmonti */
$ File_name = $ file;
$ Mime = 'application/force-download ';
Header ('pragma: public '); // required
Header ('expires: 0'); // no cache
Header ('cache-Control: must-revalidate, post-check = 0, pre-check = 0 ');
Header ('cache-Control: private ', false );
Header ('content-Type: '. $ mime );
Header ('content-Disposition: attachment; filename = "'. basename ($ file_name ).'"');
Header ('content-Transfer-Encoding: binary ');
Header ('connection: close ');
Readfile ($ file_name); // push it out
Exit ();

Php downloads files instead of hyperlinks, which can reduce leeching! Give the file to the browser for download

Take the txt type as an example

Because the current browser can recognize the txt document format, if only a text link is provided for the txt document, the content of the txt file is displayed in a new window after clicking it, click Download cannot be implemented. Of course, the solution to this problem can also be to rename the txt file as a file not recognized by the browser (such as rar). In this case, the browser cannot recognize rar files, you can only download the file. Another way is to use the code to set the document format through the header to achieve click download.
The PHP code is as follows:

The code is as follows:

$ Filename = '/path/'.w._getw.'file'{.'.txt'; // file path
Header ("Content-Type: application/force-download ");
Header ("Content-Disposition: attachment; filename =". basename ($ filename ));
Readfile ($ filename );

Brief description:
The first header function sets the Content-Type value to application/force-download;
The second header function sets the file to be downloaded. Note that the filename here is a file name that does not contain a path. The value of filename will be the file name in the pop-up dialog box after you click Download. if there is a path, the file name in the pop-up dialog box is unknown;
Finally, the readfile function is used to output the file stream to the browser, so as to download the txt file.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.