2015.10.25

特定の日、特定の時間になったらコンテンツを切り替える。PHP編

ある日のある時間に、自動でコンテンツを切り替える方法です。

<?php
	date_default_timezone_set('Asia/Tokyo');
	$ymdh = date('YmdH');

	    if($ymdh <= '2015010111'): $img = 'img001';
	elseif($ymdh <= '2015020111'): $img = 'img002';
	elseif($ymdh <= '2015030111'): $img = 'img003';
	elseif($ymdh <= '2015040111'): $img = 'img004';
	endif;

	$html = '<img src="img/'.$img.'.jpg" alt="" width="640" height="480" />';

	if($img){
		echo $html;
	}
?>

まずは切り替わる時間を日本時間で考える必要があるため、
タイムゾーンを東京に設定します。(2行目)

変数$ymdhに現在の年月日時を入れます(例:2015年10月25日午後10時の場合 ⇒ 2015102522)。

その変数$ymdhに入れられた数値(時間)によって、
変数$imgが変わり、変数$htmlにあてはめられ、
出力(echo)されます。

2015年1月1日11時59分59秒までは「img001.jpg」が表示され、
12時0分0秒になると「img002.jpg」に切り替わります。
「img002.jpg」は、2月1日11時59分59秒まで表示されていることになります。

また出力されるとき、この変数$imgに「値が入っている場合」としているので、
上の例で2015年4月1日12時になると、何も表示されなくなります。

期間限定のキャンペーンで、「キャンペーンスタート!」・「好評開催中!」・「締め切り間近!」のように、
時期によってバナーを切り替え、キャンペーンが終われば自動でバナーを非表示にする
というような場合などに使えます。