This article introduces in detail the usage of Content-disposition in php header. Friends who need to know the usage of header can refer to it.
Content-disposition is an extension of the MIME protocol, which instructs the MIME user agent how to display attached files. Content-disposition can actually control the user to provide a default file name when the content requested is saved as a file. The file is displayed directly on the browser or a file download dialog box pops up during access.
Format description:
content-disposition = "Content-Disposition" ":" disposition-type *( ";" disposition-parm )
Field description:
Content-Disposition is the attribute name
How is the distribution-type downloaded? For example, attachment is downloaded as an attachment
disposition-parm is the default file name when saving
When the server sends a file to the client browser, if it is a file type supported by the browser, it will generally be opened by the browser by default, such as txt, jpg, etc., and will be displayed directly in the browser. If the user needs to be prompted to save , we need to use Content-Disposition for processing. The key is to add attachment:
The code is as follows
代码如下 |
复制代码 |
Response.AppendHeader("Content-Disposition","attachment;filename=FileName.txt");
|
|
Copy code
|
Response.AppendHeader("Content-Disposition","attachment;filename=FileName.txt");
代码如下 |
复制代码 |
content-disposition = “Content-Disposition” “:”
disposition-type *( “;” disposition-parm )
disposition-type = “attachment” | disp-extension-token
disposition-parm = filename-parm | disp-extension-parm
filename-parm = “filename” “=” quoted-string
disp-extension-token = token
disp-extension-parm = token “=” ( token | quoted-string )
|
Note: In this way, the browser will prompt whether to save or open. Even if you choose to open, it will be opened using a related program such as Notepad instead of IE directly.
Content-Disposition provides a default file name when the user wants to save the requested content as a file. The specific definition is as follows:
The code is as follows
|
Copy code
|
content-disposition = “Content-Disposition” “:”
disposition-type *( “;” disposition-parm )
disposition-type = “attachment” | disp-extension-token
代码如下 |
复制代码 |
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "No-cache");
response.setDateHeader("Expires", 0);
|
disposition-parm = filename-parm | disp-extension-parm
| filename-parm = “filename” “=" quoted-string
disp-extension-token = token
disp-extension-parm = token “=" ( token | quoted-string )
Then we can see the specific examples from the above:
Content-Disposition: attachment; filename="filename.xls"
Of course the filename parameter can contain path information, but User-Agnet will ignore this information and only use the last part of the path information as the file name. When you use this header information when the response type is application/octet-stream, it means that you do not want to display the content directly, but pop up a "File Download" dialog box, and the next step is up to you. Open" or "Save".
Note:
1. When Content-Disposition is used in the code to ensure that the browser pops up the download dialog box. response.addHeader("Content-Disposition", "attachment"); Be sure to make sure that you have not done anything to disable browser caching. As follows:
The code is as follows
|
Copy code
|
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "No-cache");
response.setDateHeader("Expires", 0);
Otherwise, you will find that the download function works fine in Opera and Firefox, but not in IE
http://www.bkjia.com/PHPjc/632208.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632208.htmlTechArticleThis article introduces in detail the usage of Content-disposition in php header. Friends who need to know the usage of header can For reference. Content-disposition is an extension of the MIME protocol,...
|
|
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn