Je travaille actuellement sur un programme en ligne. J'écris un script php qui exécute une commande dans la ligne de commande avec proc_open() (sous Linux Ubuntu). Ceci est mon code à ce jour:Plusieurs entrées avec proc_open()
<?php
$cmd = "./power";
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("pipe", "w"),
);
$process = proc_open($cmd, $descriptorspec, $pipes);
if (is_resource($process)) {
fwrite($pipes[0], "4");
fwrite($pipes[0], "5");
fclose($pipes[0]);
while($pdf_content = fgets($pipes[1]))
{
echo $pdf_content . "<br>";
}
fclose($pipes[1]);
$return_value = proc_close($process);
}
?>
puissance est un programme qui demande l'entrée 2 fois (il faut une base et un exposant et calcule la base^exposant). C'est écrit en Assemblée. Mais quand j'exécute ce script, je me trompe de sortie. Ma sortie est "1" mais j'attends 4^5 comme sortie. Lorsque j'exécute un programme qui prend une entrée, cela fonctionne (j'ai testé un programme facile qui incrémente la valeur entrée d'un).
Je pense qu'il me manque quelque chose concernant la commande fwrite. Quelqu'un pourrait-il m'aider s'il vous plaît?
Merci d'avance!
Merci! C'était le problème :) – Devos50