Home >Backend Development >PHP Tutorial >PHP downloads text files through header_PHP tutorial
The so-called downloading of text files means that when we click on a link to a text file, instead of opening the file, a download dialog box pops up for us to download. This is the main issue discussed today. The instructions in the PHP help document about PHP triggering downloads through headers are relatively simple, and there are very few articles on this aspect on the Internet, and many articles cannot achieve the desired effect. Today I will also talk about this topic. If you feel that it is improved compared to some articles on the Internet, then I will be very satisfied. 6}g> o %P
From an accurate perspective, the PHP document is the most accurate, because it succinctly lists the steps to trigger downloading of text files. The three required statements, taking PDF as an example, are: g <
// We'll be outputting a PDF lh?cuj Qh
header('Content-type: application/pdf'); I[xR .p
// It will be called downloaded.pdf r Wf{= P k'
header('Content-Disposition: attachment; filename="downloaded.pdf"'); HOAw :*Z{>
// The PDF source is in original.pdf J4 Q SC1
readfile('original.pdf'); 0pc* r4R@
<|
These three sentences are correct, but it is easy to have some unforeseen problems in the actual use process. If you are a very careful person, it can also be easy. Avoid these problems. But I am not, so I encountered such a problem. Here I will briefly talk about my problem. 1 xra a7
As for the first sentence, there should be nothing to say, it is necessary. Just change the type of the document. For example, if you are downloading a txt file, then change it to header( 'Content-type: application/txt');, the second sentence doesn't say much, just give your downloaded document a name. If it is a txt file, you can change it to header('Content-Disposition: attachment; filename =”downloaded.txt”');, the third sentence has more problems. The readfile function means to read a file and then output it. The path of the file here needs to be the real file path. If it is under the downloads folder For an original.txt file, you can write readfile('downloads/original.txt');, and if the submitted page will output text and other characters, then the downloaded file will be the original file original.txt and the submitted page output A mixed file of text. I lacked careful observation here. As soon as I saw something was wrong, I immediately checked the code, but did not find that the above text was what I needed. After discovering this part of the content, you may quickly think of how to solve this problem. , that is, turning off the output of the text content of the submitted page. i-z7 i;I
.FRO|}}
Wr#r? DhI
At this point, our problem is solved, thus achieving the effect of triggering the download dialog box when the text file link is clicked.