Home  >  Article  >  Backend Development  >  The role and usage of Content-Disposition in header_PHP tutorial

The role and usage of Content-Disposition in header_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:18:101027browse

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
disposition-type is how to download, for example, attachment is downloading 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, just To use Content-Disposition for processing, the key is to add attachment:

Copy code The code is as follows:

Response .AppendHeader("Content-Disposition","attachment;filename=FileName.txt");

Note: In this way, the browser will prompt whether to save or open. Even if you choose to open, the associated A program such as Notepad opens 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:
Copy code The code is as follows:

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 )


Then the specific example can be seen 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".

Notes:

1. When using Content-Disposition 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:
Copy code The code is as follows:

response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "No-cache");
response.setDateHeader("Expires", 0);

Otherwise, you will find that the download function is in opera and It works fine in Firefox, but not in IE.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/325564.htmlTechArticleContent-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 content requested by the user to be stored as a...
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