如何删除下载缓存?

时间:2014-02-24 13:29:59

标签: php html html5 http-headers download

当我第二次启动应用程序尝试进​​行新的下载时,它是先前下载的内容数据,这是下载的!这是代码:

$output = RP_MAIN . 'docbook/data/myfile.pdf';          
header('Content-Type: application/x-download');
header('Content-Disposition: attachment; filename="'.'manuel.pdf'.'"');
header('Cache-Control: private, max-age=0, must-revalidate');
header('Pragma: public');
ob_clean();
readfile($output);

那么如何在下载之前清除下载缓存?

3 个答案:

答案 0 :(得分:1)

ctrl+F5将强制浏览器刷新并清除缓存。 但是,为了在不使用缓存的情况下每次加载页面,您可以尝试这个 -

$output = RP_MAIN . 'docbook/data/myfile.pdf?'.rand();

每次加载页面时,这会在文件名末尾生成一个随机数,因此浏览器每次都会认为它是一个新文件而不使用存储在缓存中的信息。

答案 1 :(得分:0)

在文件URL上添加一个随机参数,以便浏览器认为它是一个新文件:

$output = RP_MAIN . 'docbook/data/myfile.pdf?version=1.5';

答案 2 :(得分:0)

我将?nocache添加到CSV文件URL的末尾。它不一定是特定的那个词,但它适用于在Excel中打开文件。似乎没有必要在那里有一个随机数,至少对于Excel来说。