File "upload_v2.php"

Full path: /www/upfile/CP5001/upload_v2.php
File size: 11.65 KiB (11928 bytes)
MIME-type: text/html
Charset: utf-8

Download   Open   Back

<HTML>
<HEAD>
<META Http-Equiv="Content-Type" Content="text/html;charset=UTF-8">
<TITLE>ケーソンシミュレーション</TITLE>
</HEAD>

<BODY>
<CENTER>
<B>
<FONT SIZE=3>
ケーソンシミュレーション<BR>
</FONT>
</B>
</CENTER>

<hr>
<?php
//■ファイルアップロードプログラム


//●ファイルを保存するディレクトリ
$save_dir[0] = "/www/upfile/simulation/file/1/";
$save_dir[1] = "/www/upfile/simulation/file/2/";
$save_dir[2] = "/www/upfile/simulation/file/3/";
$save_dir[3] = "/www/upfile/simulation/file/4/";
$save_dir[4] = "/www/upfile/simulation/file/5/";
$save_dir[5] = "/www/upfile/simulation/file/6/";
$save_dir[6] = "/www/upfile/simulation/file/7/";
$save_dir[7] = "/www/upfile/simulation/file/8/";
$save_dir[8] = "/www/upfile/simulation/file/9/";
$save_dir[9] = "/www/upfile/simulation/file/10/";


$enc_disp = "UTF-8";   // ブラウザ表示文字コード
$enc_file = "SJIS";    // 保存ファイル名文字コード


EXTRACT($_POST);
//print_r($_POST);

print "<h4>■ファイルアップロード</h4>";

/*
if(!empty($_POST['id']))
{
	$id = $_POST['id'];
}
else
{
	$id = $_GET['id'];
}

*/
//●シミュレーション用出力元ファイルのパス
$sim_input_dir = "/www/upfile/simulation/file/";

//●シミュレーション用出力先
//$sim_output_dir[0] = "/www/upfile/ZGNaviLatestData2.csv";
$sim_output_dir[0] = "/www/upfile/file1.csv";
$sim_output_dir[1] = "/www/upfile/file2.csv";
$sim_output_dir[2] = "/www/upfile/file3.csv";
$sim_output_dir[3] = "/www/upfile/file4.csv";
$sim_output_dir[4] = "/www/upfile/file5.csv";
$sim_output_dir[5] = "/www/upfile/file6.csv";
$sim_output_dir[6] = "/www/upfile/file7.csv";
$sim_output_dir[7] = "/www/upfile/file8.csv";
$sim_output_dir[8] = "/www/upfile/file9.csv";
$sim_output_dir[9] = "/www/upfile/file10.csv";


//●シミュレーションスタート・ストップフラグ用ファイルのパス
$sim_flag_path = "/www/upfile/simulation/sim_flag.txt";


// ファイルがアップロードされたものなら処理をする
if($_FILES["upfile"]["name"] || $_FILES["upfile2"]["name"] || $_FILES["upfile3"]["name"] || $_FILES["upfile4"]["name"] || $_FILES["upfile5"]["name"])
{
    print "以下のファイルがアップロードされました<BR>";
	print "<TABLE BORDER=\"3\" BORDERCOLOR=\"BLACK\">";
	print "<TR>";
	print "<TH>ファイル名</TH>";
	print "<TH>サイズ(KB)</TH>";
	print "</TR>";
}

//■アップロードファイル①
if (is_uploaded_file(@$_FILES["upfile"]["tmp_name"]))
{
	// ファイル名の文字コードを変換する
    $file_name = $save_dir[0].$_FILES["upfile"]["name"];

    // テンポラリファイルを保存ディレクトリにコピー
    copy($_FILES["upfile"]["tmp_name"], $file_name);
	print "<TR><TD>";
	print $_FILES["upfile"]["name"];
	print "</TD><TD ALIGN='right'>";
	print $_FILES["upfile"]["size"] /1000;
	print "</TD></TR>";
}

//■アップロードファイル②
if (is_uploaded_file(@$_FILES["upfile2"]["tmp_name"]))
{
	// ファイル名の文字コードを変換する
    $file_name = $save_dir[1].$_FILES["upfile2"]["name"];

    // テンポラリファイルを保存ディレクトリにコピー
    copy($_FILES["upfile2"]["tmp_name"], $file_name);
	print "<TR><TD>";
	print $_FILES["upfile2"]["name"];
	print "</TD><TD ALIGN='right'>";
	print $_FILES["upfile2"]["size"] /1000;
	print "</TD></TR>";
}

//■アップロードファイル③
if (is_uploaded_file(@$_FILES["upfile3"]["tmp_name"]))
{
	// ファイル名の文字コードを変換する
    $file_name = $save_dir[2].$_FILES["upfile3"]["name"];

    // テンポラリファイルを保存ディレクトリにコピー
    copy($_FILES["upfile3"]["tmp_name"], $file_name);
	print "<TR><TD>";
	print $_FILES["upfile3"]["name"];
	print "</TD><TD ALIGN='right'>";
	print $_FILES["upfile3"]["size"] /1000;
	print "</TD></TR>";
}

//■アップロードファイル④
if (is_uploaded_file(@$_FILES["upfile4"]["tmp_name"]))
{
    $file_name = $save_dir[3].$_FILES["upfile4"]["name"];

    // テンポラリファイルを保存ディレクトリにコピー
    copy($_FILES["upfile4"]["tmp_name"], $file_name);
	print "<TR><TD>";
	print $_FILES["upfile4"]["name"];
	print "</TD><TD  ALIGN='right'>";
	print $_FILES["upfile4"]["size"] /1000;
	print "</TD></TR>";
}

//■アップロードファイル⑤
if (is_uploaded_file(@$_FILES["upfile5"]["tmp_name"]))
{
	// ファイル名の文字コードを変換する
    $file_name = $save_dir[4].$_FILES["upfile5"]["name"];

    // テンポラリファイルを保存ディレクトリにコピー
    copy($_FILES["upfile5"]["tmp_name"], $file_name);
	print "<TR><TD>";
	print $_FILES["upfile5"]["name"];
	print "</TD><TD ALIGN='right'>";
	print $_FILES["upfile5"]["size"] /1000;
	print "</TD></TR>";
}

//■アップロードファイル⑥
if (is_uploaded_file(@$_FILES["upfile6"]["tmp_name"]))
{
	// ファイル名の文字コードを変換する
    $file_name = $save_dir[5].$_FILES["upfile6"]["name"];

    // テンポラリファイルを保存ディレクトリにコピー
    copy($_FILES["upfile6"]["tmp_name"], $file_name);
	print "<TR><TD>";
	print $_FILES["upfile6"]["name"];
	print "</TD><TD ALIGN='right'>";
	print $_FILES["upfile6"]["size"] /1000;
	print "</TD></TR>";
}

//■アップロードファイル⑦
if (is_uploaded_file(@$_FILES["upfile7"]["tmp_name"]))
{
	// ファイル名の文字コードを変換する
    $file_name = $save_dir[6].$_FILES["upfile7"]["name"];

    // テンポラリファイルを保存ディレクトリにコピー
    copy($_FILES["upfile7"]["tmp_name"], $file_name);
	print "<TR><TD>";
	print $_FILES["upfile7"]["name"];
	print "</TD><TD ALIGN='right'>";
	print $_FILES["upfile7"]["size"] /1000;
	print "</TD></TR>";
}

//■アップロードファイル⑧
if (is_uploaded_file(@$_FILES["upfile6"]["tmp_name"]))
{
	// ファイル名の文字コードを変換する
    $file_name = $save_dir[7].$_FILES["upfile8"]["name"];

    // テンポラリファイルを保存ディレクトリにコピー
    copy($_FILES["upfile8"]["tmp_name"], $file_name);
	print "<TR><TD>";
	print $_FILES["upfile8"]["name"];
	print "</TD><TD ALIGN='right'>";
	print $_FILES["upfile8"]["size"] /1000;
	print "</TD></TR>";
}

//■アップロードファイル⑨
if (is_uploaded_file(@$_FILES["upfile9"]["tmp_name"]))
{
	// ファイル名の文字コードを変換する
    $file_name = $save_dir[8].$_FILES["upfile9"]["name"];

    // テンポラリファイルを保存ディレクトリにコピー
    copy($_FILES["upfile9"]["tmp_name"], $file_name);
	print "<TR><TD>";
	print $_FILES["upfile9"]["name"];
	print "</TD><TD ALIGN='right'>";
	print $_FILES["upfile9"]["size"] /1000;
	print "</TD></TR>";
}

//■アップロードファイル⑩
if (is_uploaded_file(@$_FILES["upfile10"]["tmp_name"]))
{
	// ファイル名の文字コードを変換する
    $file_name = $save_dir[9].$_FILES["upfile10"]["name"];

    // テンポラリファイルを保存ディレクトリにコピー
    copy($_FILES["upfile10"]["tmp_name"], $file_name);
	print "<TR><TD>";
	print $_FILES["upfile10"]["name"];
	print "</TD><TD ALIGN='right'>";
	print $_FILES["upfile10"]["size"] /1000;
	print "</TD></TR>";
}
	print "</TABLE>";


//シミュレーション処理
if($_POST['start'])
{

	$flag = fopen($sim_flag_path,"w");
	fwrite($flag,1);
	fclose($flag);

	for($s = 0;$s < 10;$s++)
	{
		$no = $s + 1;
	    if (isset(${"sim_data" .$no}) && !empty(${"sim_data".$no}) )
	    {
			$input = $save_dir[$s] .${"sim_data".$no};
			$output = $sim_output_dir[$s];
			$cmd = "\"" .$input ."\"" .' ' ."\"" .$output ."\"";
			//print $cmd;
			exec('/usr/bin/php -f /www/upfile/simulation/upload_start.php '.$cmd.' > /dev/null &');
	    }
    }
}

if($_POST['stop'])
{
	$flag = fopen($sim_flag_path,"w");
	fwrite($flag,0);
	fclose($flag);

}

//■アップロードするファイルを選択するボタンを作成
//最大で同時に10個までアップロードできる

print "<form enctype='multipart/form-data' action='$_SERVER[PHP_SELF]' method='post'>";
print "ファイル①:<input type='file' name='upfile' size='30'><BR>";
print "ファイル②:<input type='file' name='upfile2' size='30'><BR>";
print "ファイル③:<input type='file' name='upfile3' size='30'><BR>";
print "ファイル④:<input type='file' name='upfile4' size='30'><BR>";
print "ファイル⑤:<input type='file' name='upfile5' size='30'><BR>";
print "ファイル⑥:<input type='file' name='upfile6' size='30'><BR>";
print "ファイル⑦:<input type='file' name='upfile7' size='30'><BR>";
print "ファイル⑧:<input type='file' name='upfile8' size='30'><BR>";
print "ファイル⑨:<input type='file' name='upfile9' size='30'><BR>";
print "ファイル⑩:<input type='file' name='upfile10' size='30'><BR>";
print "<input type='submit' name='prc' value='アップロード'>";
print "</form>";
print "<HR>";



print "<h4>■シミュレーション対象ファイル</h4>";

print "<form name='regist' enctype='multipart/form-data' action='$_SERVER[PHP_SELF]' method='post'>";
print "<TABLE BORDER='0'>";
print "<TR><TD>";

print "<INPUT TYPE='submit' NAME='start' VALUE='開始' style='width:70px;'>";
print "</TD>";
print "<TD>";
print "<INPUT TYPE='submit' NAME='stop' VALUE='停止' style='width:70px;'>";
print "</TD>";
print "</TR>";

//●ダウンロード出来るファイルの一覧
//ファイル名がリンクになり、クリックするとダウンロード処理を行う
//ダウンロード処理はdownload.phpで行う
print "<TABLE BORDER='0'>";
print "<TR>";

for($f = 0;$f < 10;$f++)
{
	$title_no = $f + 1;

//////////////////////////////////////////////////
	//●フォルダ内のファイルの情報(名前、サイズ、ファイルのアクセス時刻)を1つずつを取得
	//●対象のフォルダを開く(アップロードしたファイルのあるフォルダ)
	$res_dir = opendir($save_dir[$f]);
	$i = 0;
	$file_data = array();
	$foo = array();
	$file_name = "";
	
	while( $file_name = readdir($res_dir) )
	{
		//取得したファイル名を表示
		if(strpos($file_name,"."))
		{
			//$file_data[$i][0] = mb_convert_encoding($file_name,$enc_file, $enc_disp);
			$file_data[$i][0] = $file_name;
			$file_data[$i][1] =filesize($save_dir[$f] .$file_name)/1000 ;
			$file_data[$i][2] = fileatime($save_dir[$f] .$file_name);		//ファイルのアクセス時刻取得
			$i += 1;
		}
	}

	foreach($file_data as $key => $row)
	{
		$foo[$key] = $row["2"]; 
	}
	array_multisort($foo,SORT_DESC,$file_data);

	//●フォルダ内のファイル数を設定(ダウンロードできるファイルの数)
	$ct = count($file_data);
	closedir($res_dir);

//////////////////////////////////////////////////
	print "<TD VALIGN='top'>";
	print "<TABLE BORDER='1'>";
	print "<TR ALIGN='center'><TD> </TD><TD>ファイル" .$title_no ."</TD></TR>";


	//●ファイル数の数だけ処理を繰り返す
	print "<TR ALIGN='middle' >";
	print "<TD>";
	print "<input type='radio' name='sim_data" .$title_no ."' value='0'  checked>";
	print "</TD>";
	print "<TD>";
	print "未選択";
	print "</TD>";
	print "</TR>";

	for($ii = 0; $ii < $ct;$ii++)
	{
		$checked = (!strcmp((${"sim_data".$title_no}),$file_data[$ii][0])) ? "checked" : "";
		//print (${"sim_data".$title_no}) ."__" .$checked ."<BR>";
		print "<TR ALIGN='middle'>";
		print "<TD>";
		print "<input type='radio' name='sim_data" .$title_no ."' value='" .$file_data[$ii][0] ."' " .$checked  .">";
		print "</TD>";
		print "<TD>";
		print "<A HREF='download.php?s=" .$save_dir[$f] ."&f=" .$file_data[$ii][0] ."'>" .$file_data[$ii][0] ."</A>";
		print "</TD>";
		print "</TR>";

	}
	print "</TABLE>";
	print "</TD>";
}
print "</form>";

print "</TR>";
print "</TABLE>";

?>
<HR>
<FONT SIZE=5>
<CENTER><I><B>
penta-ocean<BR>
<BR></B></I>
</CENTER>
</FONT>

</BODY>
</HTML>

PHP File Manager