2013-05-28 57 views
0

我不想將pdf文件保存在臨時文件中,因爲臨時文件更新時文件內容沒有更新,所以我嘗試使用「no cache」(我清除了文件在我使用此功能之前)php 5.2 no cache header

<?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文件被stil保存在臨時文件中,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 
................................................. 
............................................... 
............................. 
?> 
+0

該代碼似乎對我來說很好......你如何包含你的PDF文件? –

+0

我把它放在頂部 – user2210819

回答

1

你檢查你的PHP正在運行在所有的頂部?

嘗試將echo "foo"; exit()置於此代碼的頂部,看看您是否仍然可以下載PDF文件 - 如果可以的話,那麼您的代碼將不會運行,並且您的緩存限制將無法正常工作。

此外,如果您使用的是代理服務器,那麼可能會在您不知情的情況下緩存文件,請嘗試重命名文件並從舊位置下載文件 - 如果仍然有效,那麼您的服務器可能不是問題。

+0

上面的代碼應該放置在導出功能的PHP文件或將其放置在提供下載路徑的頁面 – user2210819