我使用了可以从某个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);
但我怎样才能确保每天都能调用它?
答案 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);
}