每天下载外部XML文件

时间:2017-05-31 15:46:49

标签: php xml

我使用了可以从某个URL获取的外部XML文件。现在有一个关于获取XML文件的问题,因为如果你花了太多时间来获取文件,你根本就得不到任何东西,大概是为了限制请求的数量。

是否有可能每天通过PHP下载XML文件以限制对外部服务器的请求。

我已经检查了我有哪些选项,并且我看到CRON是解决此问题最常见的解决方案。但是如果可能的话,我想通过PHP来做这件事,因为我没有访问服务器来设置CRON。

有没有人有将XML文件下载到您自己的服务器并使用它的经验,并且每天下载该XML文件以限制请求?

我有这段代码来获取实际的XML文件:

$xml = file_get_contents("my-xml-file-url-external");
file_put_contents("my-path-to-save-xml-file", $xml);

但我怎样才能确保每天都能调用它?

1 个答案:

答案 0 :(得分:3)

您可以查看您写入的文件的上次修改时间(请参阅filemtime()文档),如果超过一天(或不存在),则覆盖它:

$cacheFile = "file.xml";

if (!file_exists($cacheFile) || filemtime($cacheFile) < time() - 86400)
{
    $xml = file_get_contents("my-xml-file-url-external");
    file_put_contents($cacheFile, $xml);
} else {
    $xml = file_get_contents($cacheFile);
}