File "udp.php"

Full path: /www/upfile/udp.php
File size: 2.3 KiB (2357 bytes)
MIME-type: text/x-php
Charset: utf-8

Download   Open   Back

<?php
$port = 51237;

$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '0.0.0.0', $port);

//CSV出力先
$output[0] = "/www/upfile/CP5001/1.csv";
$output[1] = "/www/upfile/CP5001/2.csv";
$output[2] = "/www/upfile/CP5001/3.csv";
$output[3] = "/www/upfile/CP5001/4.csv";

$log_output_dir = "/www/upfile/CP5001/log/";

//計算用の定数のパス
$calc[1] = file_get_contents("/www/upfile/simulation/file/6/file6.csv");

if(!$calc[1])
{
	$calc[1] = 36;
}


for (;;) {
    socket_recvfrom($socket, $buf, 1024, 0, $remoteAddr, $remotePort);

	$buf = str_replace(array("\r\n", "\r", "\n"), '',  $buf);
	$data_split = explode(",",$buf);

	$x = $data_split[7]+4.8*cos(($data_split[11])*(pi()/180));
	$y = $data_split[8]+4.8*sin(($data_split[11])*(pi()/180));
	$z2 = $data_split[9]-$calc[1];
	$z3 = $data_split[9]-$calc[1];
	$z4 = $data_split[9]-$calc[1] +7.41;
	$rad = $data_split[11];

	
	$x_ = number_format($x, 2, '.', '');
	$y_ = number_format($y, 2, '.', '');
	$z2_ = number_format($z2, 2, '.', '');
	$z3_ = number_format($z3, 2, '.', '');
	$z4_ = number_format($z4, 2, '.', '');
	$rad_ = number_format($rad, 1, '.', '');

	$buf2 = $data_split[0] ."," .$data_split[7] ."," .$data_split[8] ."," .$z2_ ."," .$data_split[4] .",0," .$data_split[6];
	$buf3 = $data_split[0] ."," .$data_split[7] ."," .$data_split[8] ."," .$z3_ ."," .$rad_ .",0," .$data_split[6];
	$buf4 = $data_split[0] ."," .$x_ ."," .$y_ ."," .$z4_ ."," .$rad_ ."," .$data_split[10] ."," .$data_split[6];


	$fp1 = fopen($output[0],"w");
	fwrite($fp1,$buf);
	fclose($fp1);
	
	$fp2 = fopen($output[1],"w");
	fwrite($fp2,$buf2);
	fclose($fp2);
	
	$fp3 = fopen($output[2],"w");
	fwrite($fp3,$buf3);
	fclose($fp3);

	$fp4 = fopen($output[3],"w");
	fwrite($fp4,$buf4);
	fclose($fp4);
	
	
	//1時間ごとにログを保存
	$unix_time = strtotime($data_split[0]);
	$log_file_name = date("YmdH" ,$unix_time) .".csv";
	$log_output_path = $log_output_dir .$log_file_name;
	
	if (file_exists($log_output_path))
	{
		$fp_log = fopen($log_output_path,"a");
		fwrite($fp_log,$buf ."\n");
		fclose($fp_log);
	}
	else
	{
		$fp_log = fopen($log_output_path,"w");
		fwrite($fp_log,$buf ."\n");
		fclose($fp_log);
	}
}
/*
書き換え後、コマンド画面から以下のコマンドを張り付けて実行
nohup php ./udp.php < /dev/null > batchout.log 2> batcherr.log &
*/
?>


PHP File Manager