一時ファイルが更新されたときにファイルの内容が更新されなかったため、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ブラウザを使用しています。このコードまたはその他の方法に問題がある場合は、たとえば、Web ページにアクセスするたびにキャッシュをクリアします。
ダウンロードファイルページのトップに置いています
<?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
.................................................
...............................................
.............................
?>