2017-05-31 81 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连接更新的文件被下载。我不知道是否有信号的方式到代理服务器以允许下载新版本