PHP
post
datetime
request

【PHP】期間外のリクエスト(POST)を受け付けないようにする

締め切り後のリクエストは受け付けません

期間内か否かの判定式ってあんまり見たことないので書いてみました。
こんな感じでどうでしょうか

post_uketoru.php
<?php
// date_default_timezone_set('Asia/Tokyo'); // php.iniの設定
$postTime = new DateTime();

// 受け付け期間(開始日~終了日)
$From = new DateTime('2018-03-01 12:00:00');
$To   = new DateTime('2018-03-31 13:00:00');

// 期間外のPOSTを受け付けない
if ($postTime->diff($From)->invert === 1 && $postTime->diff($To)->invert === 0) {
    // POSTに対する処理
    return true;
}

return false;

おわり

  • 厳密にする必要がなかったらFromはいらないかもしれないですね。
  • 期間の設定はあくまで現地時間(この場合は日本時間)に設定しておく。
  • まあCarbon使えるなら使えばいいんじゃないでしょうかね

参考