2017-05-31 5 views
1

私は特定のURLから取得できる外部XMLファイルを使用します。 XMLファイルを取得する際に問題があります。ファイルを取得するのに時間がかかりすぎると、まったく何も取得されず、おそらくリクエストの量が制限されるためです。毎日外部XMLファイルをダウンロード

XMLファイルをPHP経由で毎日ダウンロードして、外部サーバーへのリクエストを制限する可能性はありますか?

私は何を持っているのかチェックしました。私はCRONがこの問題の解決策であることを知りました。しかし、私はCRONを設定するためのサーバへのアクセス権がないので、可能であればPHP経由でこれを行いたいと思っています。

XMLファイルを自分のサーバーにダウンロードして使用し、そのXMLファイルを毎日ダウンロードして要求を制限する経験がある人はいますか?

私は、実際のXMLファイルを取得するためにこのコードを持っている:

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

をしかし、どのように、私はこれが毎日呼び出されることを確認することができますか?

答えて

3

あなたがに書き込むファイルの(filemtime()マニュアルを参照してください)最終更新日時を確認することができ、そしてそれは古い(または非existant)日以上だ場合は、それを上書き:

$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); 
} 
関連する問題