Php 如何禁用目录列表的缓存?
如何每次都获得新(未缓存)文件列表 我有一个简单的php脚本,它将目录的内容放入数组中。 我第一次使用它时,它工作得很好,但是8分钟后我再次调用它时,它仍然提供了以前的文件列表。我知道每隔六七分钟就会有新的文件添加到目录中,我需要最新的文件。 在我的代码片段中,您会看到我尝试了各种“无缓存”建议,但它们都不起作用Php 如何禁用目录列表的缓存?,php,javascript,ajax,Php,Javascript,Ajax,如何每次都获得新(未缓存)文件列表 我有一个简单的php脚本,它将目录的内容放入数组中。 我第一次使用它时,它工作得很好,但是8分钟后我再次调用它时,它仍然提供了以前的文件列表。我知道每隔六七分钟就会有新的文件添加到目录中,我需要最新的文件。 在我的代码片段中,您会看到我尝试了各种“无缓存”建议,但它们都不起作用 <?php //header(“Pragma: no-cache”); //header(“cache-Control: no-cache, must-revalidate”)
<?php
//header(“Pragma: no-cache”);
//header(“cache-Control: no-cache, must-revalidate”); // HTTP/1.1
//header(“Expires: Mon, 26 Jul 1997 05:00:00 GMT”); // Date in the past
$mySite = ("http://mysite.com/mypath/mydirectory/");
$url = $radarSite;
$html = file_get_contents($url);
$count = preg_match_all('/<td><a href="([^"]+)">[^<]*<\/a><\/td>/i', $html, $files);
print json_encode($files[1]);
?>
问题:如何每次都获得一个新的(未缓存的)文件列表 “伊恩”是对的。 这将“强制”返回一个新的文件列表 一般来说,它将如下所示:
$mySite = ("http://mysite.com/mypath/mydirectory/?v=".time());
远程服务器可能正在进行缓存吗?请尝试使用:
$radarSite=”http://radar.weather.gov/ridge/RadarImg/NCR/JAX/?_=" . time()
re:“远程服务器正在进行缓存吗”。。我希望不会。这是每个NexRad显示器最新“扫描”的政府来源。天气频道和其他需要最新NexRad扫描“快照”的人都在使用它。如果他们的服务器正在“缓存”,那么每六分钟更新一次目录的整个目的都会失败。我已经尝试在末尾添加一个rand(类似于时间概念),但是脚本没有运行……还有其他想法吗?这是文件内容的错误吗?更新:“尝试使用:$radarSite=”“.time()–Ian Dayed”是正确的。我在他的建议中输入了一个错误,认为它不起作用;但确实如此。