2017-05-31 91 views
0

我有一個PHP腳本從文件服務器下載KML文件。下載部分工作,但下載的文件是存儲在文件服務器上的舊版本文件。使用PHP下載文件的舊版本讀取文件

我試着設置Cache-Control和Pragma頭文件,但使用PHP URL下載文件時仍然會傳送較舊版本的文件。我在多個瀏覽器上嘗試了這一點,並確認最新​​版本的KML文件位於文件服務器上。

我錯過了什麼?

編輯:即使更改標題中的文件名('內容處置..不會更改下載文件的文件名。我得到了我試過的所有3個瀏覽器上完全相同的舊文件。它開始看起來像一個Web服務器的配置問題?

<?php 
//Update the date in the filename with new releases 

header('Content-Type: application/vnd.google-earth.kml+xml kml'); 
header('Content-Disposition: attachment; filename="KML Repository (2017-05-31).kml"'); 
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 

readfile("KML Repository (2017-05-31).kml"); 
?> 
+0

要放棄Web服務器配置問題,您可能需要檢查實際的標題由瀏覽器接收 –

回答

0

好像這個問題是我們內部的代理服務器緩存文件由於某些原因,使用直接Internet連接更新的文件被下載。我不知道是否有信號的方式到代理服務器以允許下載新版本