【PHP】別ドメインのファイルが、更新からn時間以上経過していたら

filemtime() が使えないので

同じサーバーにあるファイルなら filemtime() で取れるのですが、
外部サーバーの場合はエラーになってしまいます。

レスポンスヘッダのLast-Modifiedを取得するとことで対応しました。

<?php
  $url = 'http://example.com/' 
  $headers = get_headers( $url, 1 );
  $mod = $headers['Last-Modified'];
  $expire = strtotime( '24 hours ago' );

  if( $mod < $expire ){
    echo '24時間経過'
  } else {
    echo '24時間以内'
  }

ちなみにjQueryでも同様のことが出来ます。

【jQuery】$.ajaxで取得したファイルが、更新からn時間以上経過していたら

Writer

KO

誕生日に会社のみんなから『世界文学全集』をプレゼントしてもらった読書好きフロントエンド・エンジニアです。WordPressとMovableTypeが得意ですが、本当の特技は薪割りです。

Contact

ご提案依頼、ご相談、お見積もりなど
お気軽にお問合わせください。

03-6403-3259

平日 10:00~19:00

「Web制作について」とお伝え頂ければ
担当者に取次させていただきます。

Mailform

contact@trym.jp
でも受け付けております。