[php]自動產生CSV報表

LINEで送る
[`evernote` not found]

這是為了自動提交給伺服器公司作為KPI報告用
其中的格式是伺服器公司所規定的
本來也不是我手上的工作
但是負責的同事一直沒有好好看完伺服器公司的仕樣書
所以一直沒能成功的提交(這不是一定的嗎?我不懂不看仕樣書做事的邏輯在哪?)
結果當該同事回北海道放大假的時候
就落到我身上來了……

首先新增一個php檔案
其中的變數大部份是在前面用SQL作查詢跟計算
這邊只筆記一下php生成csv的部份

$list = array (
	    date("Y-m-d"), 									//日付
	    count($titleUser),									//インストール数
	    count($create_time),								//登録者数
	    count($payMoneyUserNum),							//課金UU
	    $ARPPU,										//ARPPU
	    $payMoney,									//グロス売上
	    $payMoney/100*60,								//ネット売上
	    count($inviteUser),									//招待ユーザ数
	    count($inviteUser)/count($inviteNUM),						//一人当たりの招待ユーザ数
	    (float) intval(count($inviteUser_act)/count($inviteUser) * 10000)/100,		//招待ユーザのアクティブ率
	    (float) intval(count($ttl_finish)/count($create_time) * 10000)/100,		//チュートリアル通過率
	    (float) intval(count($update_time1)/count($create_time1) * 10000)/100,		//翌日アクティブ率
	    (float) intval(count($update_time2)/count($create_time2) * 10000)/100,		//翌々日アクティブ率
	    (float) intval(count($update_time14)/count($create_time14) * 10000)/100	//14日後アクティブ率
	);
	$fp = fopen("/var/www/html/kpi/report-daily.".date("Ymd").'.csv', 'w');
 
	foreach ($list as $line) {
	    fputcsv($fp, split(',', $line));
	}
 
	fclose($fp);

然後到server使用crontab設定每天的23:59執行
像是這樣:

59 23 * * * /usr/bin/php /var/www/html/kpireport_daily.php