サーバーの時間をPHP+Flash(AS3)で取得する 
仕事でちょこっとやったのでメモメモ。
以下、ソースコード。
ActionScript2の場合
var varsData:LoadVars = new LoadVars();
varsData.onLoad = function(success):Void
{
if (success)
{
test.text =
this.year + "年" +
this.month + "月" +
this.day + "日" +
this.week +
this.hour + "時" +
this.minutes + "分" +
this.seconds + "秒";
}
};
varsData.load("http://blog.alt-scape.com/swf/clock/clock.php");
ActionScript3の場合
Clock.as
package
{
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLVariables;
/**
* Clock
* @alt
*/
public class Clock extends EventDispatcher
{
//
public static const COMPLETE:String = "GetClockComplete";
private var _result:Object = new Object();
//-------------------------
// コンストラクタ
//-------------------------
public function Clock(url:String = null)
{
if (url) getClock(url);
}
//-------------------------
// ロード
//-------------------------
public function getClock(url:String):void
{
var urlRequest:URLRequest = new URLRequest(url);
urlRequest.method = URLRequestMethod.GET;
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
urlLoader.addEventListener(Event.COMPLETE, completeHandler);
urlLoader.load(urlRequest);
}
//-------------------------
// ロード完了
//-------------------------
private function completeHandler(e:Event):void
{
var urlVariables:URLVariables = new URLVariables(e.target.data);
var obj:Object = new Object();
for (var i:String in urlVariables)
{
obj[i] = urlVariables[i];
}
_result = obj;
dispatchEvent(new Event(COMPLETE));
}
//-------------------------
// getter
//-------------------------
public function get result():Object
{
return _result;
}
}
}
PHP(clock.php)は
<?php
$year = date("Y"); //年(4ケタ)
$month = date("n"); //月(1ケタ)
$day = date("j"); //日(1ケタ)
$week = date("w"); //曜日(0~6)
$hour = date("G"); //24時間表記
$minutes = date("i"); //分(2ケタ)
$seconds = date("s"); //秒(2ケタ)
switch ($week) {
case 0:
$week = "日曜";
break;
case 1:
$week = "月曜";
break;
case 2:
$week = "火曜";
break;
case 3:
$week = "水曜";
break;
case 4:
$week = "木曜";
break;
case 5:
$week = "金曜";
break;
case 6:
$week = "土曜";
break;
default:
break;
}
//出力
echo "year=".$year."&month=".$month."&day=".$day."&week=".$week."&hour=".$hour."&minutes=".$minutes."&seconds=".$seconds;
?>
alt