0

我不想将pdf文件保存在临时文件中,因为更新临时文件时文件内容没有更新,所以我尝试如下使用“无缓存”(我在使用此功能之前清除了文件)

<?php
// Expires in the past
header("Expires: Mon, 26 Jul 1990 05:00:00 GMT");
// Always modified
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");
?>

但是,pdf文件仍然保存在临时文件中,pdf的内容没有更新。我正在使用 php 5.2 并使用 IE 浏览器。此代码或任何其他方法的任何问题,例如每次访问网页时清除缓存。

我把它放在下载文件页面的顶部

<?php
// Expires in the past
header("Expires: Mon, 26 Jul 1990 05:00:00 GMT");
// Always modified
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");
?>
<?php  // $Id: view.php,v 1.61 2007/01/27 19:14:23 skodak Exp $

require_once("../../config.php");
require_once("lib.php");

$id = optional_param('id', 0, PARAM_INT);    // Course Module ID
$r  = optional_param('r', 0, PARAM_INT);  // Resource
.................................................
...............................................
.............................
?>
4

1 回答 1

1

您是否检查过您的 PHP 是否正在运行?

尝试在echo "foo"; exit()此代码的顶部输入,看看您是否仍然可以下载 PDF 文件 - 如果可以,那么您的代码没有运行,并且您的缓存限制将不起作用。

此外,如果您使用的是代理服务器,那么这可能会在您不知情的情况下缓存文件,请尝试重命名文件并从旧位置下载它 - 如果它仍然有效,那么您的服务器可能不是问题。

于 2013-05-28T09:18:13.420 回答