<?php function faireAction1(){ echo '1 Je fais ça '; } function faireAction2(){ echo '2 Je fais ça '; } function faireAction3(){ echo '3 Je fais ça '; } function faireAction4(){ echo '4 Je fais ça '; } if(isset($_POST['choix1']) && $_POST['choix1']==='a1'){ faireAction1(); }else{ } if(isset($_POST['choix2']) && $_POST['choix2']==='a2'){ faireAction2(); }else{ } if(isset($_POST['choix3']) && $_POST['choix3']==='a3'){ faireAction3(); }else{ } if(isset($_POST['choix4']) && $_POST['choix4']==='a4'){ faireAction4(); }else{ } ?> <form action="" method="post"> c1 c2 c3 c4 </form>
<?php if (!empty($_POST['foo'])) { $handlers = array(); $handlers['toto'] = function() { echo 'toto'; }; $handlers['titi'] = function() { echo 'titi'; }; $handlers['tutu'] = function() { echo 'tutu'; }; foreach ($_POST['foo'] as $bar) { if (array_key_exists($bar, $handlers)) { $func = $handlers[$bar]; $func(); } } } ?> <form action="" method="post"> toto titi tutu </form>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?php $handlers = array(); $handlers['toto'] = function() { echo 'toto'; }; $handlers['titi'] = function() { echo 'titi'; }; $handlers['tutu'] = function() { echo 'tutu'; }; if (!empty($_POST['foo'])) { foreach ($_POST['foo'] as $bar) { if (array_key_exists($bar, $handlers)) { $func = $handlers[$bar]; $func(); } } } echo '<form action="" method="post">'; foreach ($handlers as $name => $func) { echo '', $name, ' '; } echo '</form>'; ?>
<?php $handlers = array(); $handlers['toto de l\'ol "xtrem"'] = function() { echo 'toto x-trem'; }; $handlers['titi'] = function() { echo 'titi'; }; $handlers['tutu'] = function() { echo 'tutu'; }; if (!empty($_POST['foo'])) { foreach ($_POST['foo'] as $bar) { $bar = urldecode($bar); if (array_key_exists($bar, $handlers)) { $func = $handlers[$bar]; $func(); } } } echo '<form action="" method="post">'; foreach ($handlers as $name => $func) { echo '', $name, ' '; } echo '</form>'; ?>
<form action="transition.php" method="post" enctype="multipart/form-data"> Formulaire d'envoi de fichier : <label for="case">LKB</label> <label for="case">Logit</label> <label for="case">Poisson</label> <label for="case">Kallman</label> <label for="case">Schul</label> <label for="case">Parallel</label> </form>
<html> Traitement en cours : 0% <?php $out = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé (trop gros ?)"; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./NTCPfitting.R > ./out_'.$datefile.'.txt 2>/dev/null &', $out); ?> <script type="application/javascript"> var file_out="<?php echo "out_$datefile.txt";?>" </script> <script type="application/javascript" src="NTCP.js"></script> </html>
est ce que je peux par exemple remplacer le echo par un fichier PHP ?
exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./NTCPfitting.R > ./out_'.$datefile.'.txt 2>/dev/null &', $out);
<?php $handlers = array(); $handlers['LKB'] = function() { $out1 = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé"; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./LKB.R > ./out_'.$datefile.'.txt 2>/dev/null &', $out1); }; $handlers['Logit'] = function() { $out2 = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé"; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./Logit.R > ./out_'.$datefile.'.txt 2>/dev/null &', $out2); }; etc... if (!empty($_POST['foo'])) { foreach ($_POST['foo'] as $bar) { $bar = urldecode($bar); if (array_key_exists($bar, $handlers)) { $func = $handlers[$bar]; $func(); } } } echo '<form action="" method="post">'; foreach ($handlers as $name => $func) { echo '', $name, ' '; } echo '</form>'; ?>
<form action="what.php" method="post" enctype="multipart/form-data"> Formulaire d'envoi de fichier : LKB Logit Poisson Kallman Schul Parallel </form>
Traitement en cours : 0% <?php $out = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé"; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./LKB.R > ./out_'.$datefile.'.txt 2>/dev/null &', $out); ?> <script type="application/javascript"> var file_out="<?php echo "out_$datefile.txt";?>" </script> <script type="application/javascript" src="NTCP.js"></script>
window.onload = function() { envoi("file_out="+file_out,"check.php"); } function envoi(req,page) { var xhr_object = null; if(window.XMLHttpRequest) // FIREFOX xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else return(false); xhr_object.open("POST", page, true); xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8"); xhr_object.send(req); xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4) { retour(xhr_object.responseXML);} } } function retour(docXml) { chargement(docXml); } function chargement(docXml) { var progression = docXml.getElementsByTagName('progression'); var progress = 0; if (progression.length) { progress = progression[0].getAttribute('value'); span = document.getElementById("progress"); span.innerHTML = progress; } var rows = docXml.getElementsByTagName('ligne'); if (rows.length) { tbody = document.getElementById("result_body"); tbody.innerHTML = ""; for(var row=0;row<rows.length;row++) { var tr = document.createElement("tr"); row_values = rows[row].getAttribute("value"); var columns = row_values.split(";"); for( column in columns) { var td = document.createElement("td"); td.innerHTML = columns[column]; tr.appendChild(td); } tbody.appendChild(tr); } } var loglikelihood = docXml.getElementsByTagName('loglikelihood'); if (loglikelihood.length) { var lllh = loglikelihood[0].getAttribute('value'); span = document.getElementById("lllh"); span.innerHTML "-log-likelihood "+lllh; } if (progress < 100) { window.setTimeout(function(a,b){ return function(){envoi(a,b);};}("file_out="+file_out,"check.php"),5000); } }
<?php header("Pragma: no-cache"); header("Expires: 0"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Content-type: application/xml"); echo('<?xml version="1.0" encoding="utf-8" ?>'); $progression = 0; $reste = ""; $loglikelihood = ""; if ($_POST) { if (!empty($_POST['file_out'])) { echo('<NTCP>'); if (($handle = fopen($_POST['file_out'], "r")) !== FALSE) { //if (($handle = fopen("out.txt", "r")) !== FALSE) { while ($data = fgets($handle)) { if ( preg_match("/itermax=(\d*),/",$data,$matches) ) { //print_r($matches); $itermax=$matches[1]; } else if ( preg_match("/TRUE/",$data,$matches) ) { //ne rien faire est parfois utile } else if (substr($data,0,1) != ">") { if ( preg_match ("/Iteration: (\d*) /", $data, $matches) ) { //echo $data; $progression = $matches[1]/$itermax*100; } else { if ( preg_match ("/-log-likelihood = (\d*\.\d*)/", $data, $matches) ) { $loglikelihood = $matches[1]; } else { $data = rtrim($data); $keywords = preg_split("/ +/",$data); if ( preg_match ("/Std/", $data) ) { $keywords[0] = $keywords[0]." ".$keywords[1]; unset($keywords[1]); } $reste .= "<ligne value='".implode(";",$keywords); $reste .= "'/>"; } } } } fclose($handle); echo ""; echo "<resultat>".$reste."</resultat>"; echo "<loglikelihood value='$loglikelihood'/>"; } else { echo('<error />'); } echo('</NTCP>'); if ($progression >= 100) { unlink($_POST['file_out']); } } else { echo '<NTCP><error value="fichier inexistant"/></NTCP>'; } } ?>
<html> Traitement en cours : 0% <?php function LKB(){ echo 'LKB: '; $LKB = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé. "; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./LKB.R > ./LKB_'.$datefile.'.txt 2>/dev/null &', $LKB); } function Logit(){ echo 'Logit: '; $Logit = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé. "; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./Logit.R > ./logit_'.$datefile.'.txt 2>/dev/null &', $Logit); } function Poisson(){ echo 'Poisson: '; $Poisson = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé. "; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./Poisson.R > ./Poisson_'.$datefile.'.txt 2>/dev/null &', $Poisson); } function Kallman(){ echo 'Kallman: '; $kallman = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé. "; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./Kallman.R > ./kallman_'.$datefile.'.txt 2>/dev/null &', $kallman); } function Schul(){ echo 'Schul: '; $Schul = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé. "; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./Schul.R > ./Schul_'.$datefile.'.txt 2>/dev/null &', $Schul); } function Parallel(){ echo 'Parallel: '; $Parallel = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé. "; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./Parallel.R > ./Parallel_'.$datefile.'.txt 2>/dev/null &', $Parallel); } if(isset($_POST['LKB']) && $_POST['LKB']==='LKB'){ LKB(); }else{ } if(isset($_POST['Logit']) && $_POST['Logit']==='Logit'){ Logit(); }else{ } if(isset($_POST['Poisson']) && $_POST['Poisson']==='Poisson'){ Poisson(); }else{ } if(isset($_POST['Kallman']) && $_POST['Kallman']==='Kallman'){ Kallman(); } if(isset($_POST['Schul']) && $_POST['Schul']==='Schul'){ Schul(); }else{ } if(isset($_POST['Parallel']) && $_POST['Parallel']==='Parallel'){ Parallel(); }else{ } ?> <script type="application/javascript"> var file_out="<?php echo "LKB_$datefile.txt";?>" var file_out="<?php echo "Logit_$datefile.txt";?>" var file_out="<?php echo "Poisson_$datefile.txt";?>" var file_out="<?php echo "Kallman_$datefile.txt";?>" var file_out="<?php echo "Schul_$datefile.txt";?>" var file_out="<?php echo "Parallel_$datefile.txt";?>" </script> <script type="application/javascript" src="NTCP.js"></script> </html>
Voilà c'est assez violent au bout du compte...
Traitement en cours : 0% <?php $handlers = array(); $handlers['LKB'] = function() { $out1 = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé"; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./LKB.R > ./out_'.$datefile.'.txt 2>/dev/null &', $out1); }; $handlers['Logit'] = function() { $out2 = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé"; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./Logit.R > ./out_'.$datefile.'.txt 2>/dev/null &', $out2); }; $handlers['Poisson'] = function() { $out3 = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé"; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./Poisson.R > ./out_'.$datefile.'.txt 2>/dev/null &', $out3); }; $handlers['Kallman'] = function() { $out4 = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé"; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./Kallman.R > ./out_'.$datefile.'.txt 2>/dev/null &', $out4); }; $handlers['Schul'] = function() { $out5 = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé"; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./Schul.R > ./out_'.$datefile.'.txt 2>/dev/null &', $out5); }; $handlers['Parallel'] = function() { $out6 = array(); $dirDest = dirname(__FILE__)."/"; $datefile = date("YmdHis"); $fileDest = "file_".$datefile.".csv"; if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) { if (!rename($_FILES["monfichier"]["tmp_name"],$dirDest.$fileDest)) { echo " Le déplacement du fichier temporaire a échoué. "; echo "Vérifiez l'existence et les droits d'écriture du répertoire ".$dirDest." "; } } else { echo "Le fichier n'a pas été uploadé"; } exec('/usr/bin/R -q --vanilla --args "'.$dirDest.$fileDest.'" < ./Parallel.R > ./out_'.$datefile.'.txt 2>/dev/null &', $out6); }; if (!empty($_POST['foo'])) { foreach ($_POST['foo'] as $bar) { $bar = urldecode($bar); if (array_key_exists($bar, $handlers)) { $func = $handlers[$bar]; $func(); } } } echo '<form action="" method="post">'; foreach ($handlers as $name => $func) { echo '', $name, ' '; } echo '</form>'; ?> <script type="application/javascript"> var file_out="<?php echo "LKB_$datefile.txt";?>" var file_out="<?php echo "Logit_$datefile.txt";?>" var file_out="<?php echo "Poisson_$datefile.txt";?>" var file_out="<?php echo "Kallman_$datefile.txt";?>" var file_out="<?php echo "Schul_$datefile.txt";?>" var file_out="<?php echo "Parallel_$datefile.txt";?>" </script> <script type="application/javascript" src="NTCP.js"></script>