File "upload_v2.php"
Full path: /www/upfile/simulation/upload_v2.php
File size: 11.65 KiB (11928 bytes)
MIME-type: text/html
Charset: utf-8
<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>