fir*_*ire 2 php header http-headers
我试图使用以下代码(改编自CodeIgniter的下载助手)来阻止内联PDF文件的缓存:
if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="'.$this->folder_name($report['Report_Name']).'.pdf"');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Transfer-Encoding: binary');
header('Pragma: public');
header('Content-Length: ' . filesize($file . ".pdf"));
}
else {
header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="'.$this->folder_name($report['Report_Name']).'.pdf"');
header('Content-Transfer-Encoding: binary');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');
header('Pragma: no-cache');
header('Content-Length: ' . filesize($file . ".pdf"));
}
readfile($file . ".pdf");
exit();
Run Code Online (Sandbox Code Playgroud)
任何人都可以发现这些标题是否可能导致IE或任何浏览器出现任何问题,例如冲突?
为了防止动态内容的缓存,我使用的就是这个(我还没有注意到任何缓存问题):
header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1
header('Pragma: no-cache'); // HTTP 1.0
header('Expires: 0'); // Proxies
Run Code Online (Sandbox Code Playgroud)
这(希望)与我的Java应用程序使用的PHP相当 - 为任何翻译错误道歉.
| 归档时间: |
|
| 查看次数: |
5182 次 |
| 最近记录: |