読者です 読者をやめる 読者になる 読者になる

RetroWeb ~iPhoneとAndroidでハイブリッドゲームアプリ開発~

AIR for iOS+AndroidでSmartPhone Game ハイブリッドアプリ開発

最近作ったアプリ
100億本の抜け毛 100億匹のモナー DQ3闘技場アプリ モナーペット(進化)

毎日自動でPHPプログラムにPHPプログラムを書かせるようにしました。

Adobe AIR AIR for Android AIR for iOS ゲーム開発 同人ゲーム

PHP連想配列変数くらい、PHPに毎日自動で更新してもらうことにしましたw
デイリー過去ログランキングのリンクと、1位の名前の配列更新。

画面キャプチャと、役に立つか謎なプログラムはこんな感じです。includeするphpを自動で更新してます。自動イベント運用も夢じゃない!
f:id:hisashi_vc:20140508005035j:plain

include_once "rankerInfo.php";

$mod = filemtime("rankerInfo.php");
//print "最終更新日:".date("Y/m/d H:i",$mod);

$isYesterdayUpdate = date("d") != date("d", $mod);

//PHPファイルを更新する。
if($isYesterdayUpdate){
	function get_filename_arr($dir, $ext0){//$match) {
	    $filename_arr = array();
	    $dh = opendir($dir);
	    while(($filename = readdir($dh)) !== false) {
			$ext = substr($filename, strrpos($filename, '.') + 1);
	        if($ext === $ext0){
	            $filename_arr[] = $filename;
	        }
	    }
	    return $filename_arr;
	}

	$logNames = get_filename_arr(".", "log");

	$todayStr = date('y')."d".date('z').".log";
	$thisWeekStr = date('y')."x".date('W').".log";

	$dailyArrayStr = "";//14d122.log
	$weeklyArrayStr = "";//14x18.log

	for($i=0; $i < count($logNames); $i++){
		$fileName = $logNames[$i];
		if($todayStr !== $fileName && strpos($fileName, "d")){
			//ファイル名先頭から名前取得?
			//echo $fileName."@日間<br>";
			//ロード
			$fp = fopen($fileName, 'r');
			if ($fp){
			    if (flock($fp, LOCK_SH)){
					$rank1Name = fgets($fp);
					$rank1Name = substr($rank1Name, 0, strpos($rank1Name, "\t"));
			        flock($fp, LOCK_UN);
			    }else{
			        //print('ファイルロックに失敗しました');
			    }
			}
			fclose($fp);
			$dailyArrayStr = "'".str_replace(".log", "", $fileName)."'=>'".$rank1Name."',\n".$dailyArrayStr;

		}else if($thisWeekStr !== $fileName && strpos($fileName, "x")){
			//ファイル名先頭から名前取得?
			//echo $fileName."@週間<br>";
			//ロード
			$fp = fopen($fileName, 'r');
			if ($fp){
			    if (flock($fp, LOCK_SH)){
					$rank1Name = fgets($fp);
					$rank1Name = substr($rank1Name, 0, strpos($rank1Name, "\t"));
			        flock($fp, LOCK_UN);
			    }else{
			        //print('ファイルロックに失敗しました');
			    }
			}
			fclose($fp);
			$weeklyArrayStr = "'".str_replace(".log", "", $fileName)."'=>'".$rank1Name."',\n".$weeklyArrayStr;
		}
	}


	$phpTxt = "<?php\n".
		"\$dailyRank1Array = array(\n".
		$dailyArrayStr.//"	'14d125'=>'あんっー',\n".
		");\n".
		"\$weeklyRank1Array = array(\n".
		$weeklyArrayStr.//"	'14x18'=>'(ま゜ー゜さ)ノ'\n".
		");\n".
	"?>";

	//phpでまるごと保存
	file_put_contents("rankerInfo.php", $phpTxt);
}

https://play.google.com/store/apps/details?id=air.retroweb.flappysimamura.production&0508