File "udp3_20221003.php"

Full path: /www/upfile/WebGLData/udp3_20221003.php
File size: 1.73 KiB (1767 bytes)
MIME-type: text/x-php
Charset: utf-8

Download   Open   Back

<?php

//引数を取得
$port = $argv[1];
//$port = 51237;

print $port ."\n";
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '0.0.0.0', $port);

//CSV出力先
//ディレクトリ
$dir = "/www/upfile/Position of diver/";
$log_output_dir = "";
//CSV出力先
switch($port)
{
	case 51241:
		$output[0] = $dir."diver1.csv";
		$log_output_dir = $dir."diver1_log/";
		break;
		
	case 51242:
		$output[0] = $dir."diver2.csv";
		$log_output_dir = $dir."diver2_log/";
		break;
		
	case 51243:
		$output[0] = $dir."diver3.csv";
		$log_output_dir = $dir."diver3_log/";
		break;
		
	case 51244:
		$output[0] = $dir."diver4.csv";
		$log_output_dir = $dir."diver4_log/";
		break;

	case 51245:
		$output[0] = $dir."diver5.csv";
		$log_output_dir = $dir."diver5_log/";
		break;

	case 51246:
		$output[0] = $dir."diver6.csv";
		$log_output_dir = $dir."diver6_log/";
		break;
}

if($output[0])
{
	for (;;) {
	    socket_recvfrom($socket, $buf, 1024, 0, $remoteAddr, $remotePort);

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

		$fp1 = fopen($output[0],"w");
		fwrite($fp1,$buf);
		fclose($fp1);

		//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