<?php if ($_POST['submit']=="Submit") { $descriptorspec =array( 0=>array("pipe", "r"), // stdin is a pipe that the child will read from 1=>array("pipe", "w"), // stdout is a pipe that the child will write to 2=>array("file", "/tmp/mcsim-error.log", "a") // stderr is a file to write to ); $process = proc_open("/var/www/cgi-bin/SimOne", $descriptorspec, $pipes); if (is_resource($process)) { // $pipes now looks like this: // 0=>writable handle connected to child stdin // 1=>readable handle connected to child stdout // Any error will be appended to /tmp.adder-error.log echo "Starting computation... <br>"; fwrite($pipes[0], " 1 \n"); fwrite($pipes[0], " 1 \n"); fwrite($pipes[0], " 1 \n"); fwrite($pipes[0], " 1 \n"); fwrite($pipes[0], " 4 \n"); fwrite($pipes[0], " 3 \n"); fwrite($pipes[0], " 3 \n"); fwrite($pipes[0], " 0.01 1 1 100 2 100000000 0 \n"); fwrite($pipes[0], " 7 \n"); fwrite($pipes[0], " 16 \n"); fwrite($pipes[0], " 3 3 \n"); fwrite($pipes[0], " 19 \n"); fwrite($pipes[0], " 9 \n"); fwrite($pipes[0], " 4 4 \n"); fwrite($pipes[0], " 2 \n"); fwrite($pipes[0], " 7 \n"); fwrite($pipes[0], "0 100000 \n"); fwrite($pipes[0], "1.005 1.10079161655837 \n"); fwrite($pipes[0], "1.2 0.121899722165568 \n"); fwrite($pipes[0], "1.35 2.24782018680607E-02 \n"); fwrite($pipes[0], "1.5 4.15142373922029E-03 \n"); fwrite($pipes[0], "1.65 7.67741699484421E-04 \n"); fwrite($pipes[0], "1.8 1.4214559791694E-04 \n"); fwrite($pipes[0], "-73 1 \n"); fwrite($pipes[0], "-53 0.9998 \n"); fwrite($pipes[0], "-33 0.9974 \n"); fwrite($pipes[0], "-13 0.9772 \n"); fwrite($pipes[0], "7 0.8849 \n"); fwrite($pipes[0], "27 0.6554 \n"); fwrite($pipes[0], "47 0.3446 \n"); fwrite($pipes[0], "67 0.1151 \n"); fwrite($pipes[0], "87 0.02275 \n"); fwrite($pipes[0], "107 0.002555 \n"); fwrite($pipes[0], "119 0.0005191 \n"); fwrite($pipes[0], "127 0.0001591 \n"); fwrite($pipes[0], "147 0.000005417 \n"); fwrite($pipes[0], "167 0.00000009983 \n"); fwrite($pipes[0], "187 0.0000000009901 \n"); fwrite($pipes[0], "207 0.000000000005262 \n"); fwrite($pipes[0], "0 0.0001 \n"); fwrite($pipes[0], "1 0.00001 \n"); fwrite($pipes[0], "2 0.000001 \n"); fwrite($pipes[0], "0 2.02916666666667 \n"); fwrite($pipes[0], "37.5 1.825 \n"); fwrite($pipes[0], "75 0.416666666666667 \n"); fwrite($pipes[0], "1 0 1 5.53719167194086E-05 \n"); fwrite($pipes[0], "20 3.10160314389535E-06 10 3.85684320217215E-02 \n"); fwrite($pipes[0], "50 4.26262852902025E-05 20 0.225554000271612 \n"); fwrite($pipes[0], "100 3.0939080333513E-04 30 0.481518891697066 \n"); fwrite($pipes[0], "300 7.11390408056762E-03 40 0.678919915862405 \n"); fwrite($pipes[0], "1000 0.183142138395344 50 0.800113383356659 \n"); fwrite($pipes[0], "2000 0.619446224450725 60 0.870844104599386 \n"); fwrite($pipes[0], "2300 0.708253654113107 70 0.912879665658785 \n"); fwrite($pipes[0], "2600 0.77513904503364 80 0.938843551174267 \n"); fwrite($pipes[0], "2900 0.82489497926736 90 0.955556408510654 \n"); fwrite($pipes[0], "3200 0.82489497926736 100 0.966734532829458 \n"); fwrite($pipes[0], "3500 0.861929466644709 110 0.974468798510072 \n"); fwrite($pipes[0], "3800 0.889701879160498 120 0.979980850616655 \n"); fwrite($pipes[0], "4100 0.910755973884777 130 0.984011468855692 \n"); fwrite($pipes[0], "4400 0.9269137456909 140 0.987025560299605 \n"); fwrite($pipes[0], "5000 0.939470549930606 150 0.989324112520184 \n"); fwrite($pipes[0], "6000 0.957212929172289 160 0.99110749730279 \n"); fwrite($pipes[0], "7300 1 170 1 \n"); fwrite($pipes[0], "7600 1 180 1 \n"); fwrite($pipes[0], "0 3.9 0.05 \n"); fwrite($pipes[0], "32.004 3.9 0.05 \n"); fwrite($pipes[0], "32.5 1.30075483758286 0.05 \n"); fwrite($pipes[0], "76.2 1.21451143581835 0.05 \n"); fwrite($pipes[0], "127 1.13685471646752 0.05 \n"); fwrite($pipes[0], "203.2 1.05563685002462 0.05 \n"); fwrite($pipes[0], "381 0.965944283152718 0.05 \n"); fwrite($pipes[0], "508 0.91804397821044 0.05 \n"); fwrite($pipes[0], "584.2 0.868013890705524 0.05 \n"); fwrite($pipes[0], "0 1 0 \n"); fwrite($pipes[0], "1 1 0.05 \n"); fwrite($pipes[0], "0 1 0.04 \n"); fwrite($pipes[0], "113.4 0.8783 0.04 \n"); fwrite($pipes[0], "132.3 0.825 0.04 \n"); fwrite($pipes[0], "150 0.78 0.04 \n"); fwrite($pipes[0], "0 1 0.04 \n"); fwrite($pipes[0], "113.4 0.93915 0.04 \n"); fwrite($pipes[0], "132.3 0.9125 0.04 \n"); fwrite($pipes[0], "150 0.89 0.04 \n"); fwrite($pipes[0], "0 1 \n"); fwrite($pipes[0], "20 1 \n"); fwrite($pipes[0], "60 0.96 \n"); fwrite($pipes[0], "100 0.87 \n"); fwrite($pipes[0], "125 0.78 \n"); fwrite($pipes[0], "140 0.69 \n"); fwrite($pipes[0], "160 0.54 \n"); fwrite($pipes[0], " 10000 \n"); fwrite($pipes[0], "3 300 \n"); fwrite($pipes[0], "1 2 \n"); // fclose($pipes[0]); // $result = -1; // fscanf($pipes[1], " %d", $result); // echo "the answer is ". stream_get_contents($pipes[1]); fclose($pipes[0]); $contents = ''; while (!feof($pipes[1])) { $contents .= fread($pipes[1], 8192); } fclose($pipes[1]); echo "the answer is ".$contents."<br>"; $return_value = proc_close($process); } } ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <form action="index.php" method="post"> Press to compute: <input type="submit" name="submit" value="Submit"> </form> </body> </html> |