我有什么:
我想要的是什么:
我的想法是与该程序进行某种用户交互:
最好的方法是什么?我目前的想法是启动后台进程(php execute a background process)并监视进程ID。但是,我不知道如何用php动态监视进程,如何向用户显示log.txt输出或如何告诉用户程序已经完成,因为这些东西不是静态的而是动态的。
我对C ++很好,但我的HTML和PHP技能是基本的。也许我需要进一步的技术呢?
答案 0 :(得分:1)
<?php
ob_implicit_flush(true);
ob_end_flush();
$cmd = "your_program -{$_POST[option1]} -{$_POST[option2]}";
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("pipe", "w")
);
flush();
$process = proc_open($cmd, $descriptorspec, $pipes, realpath('./'), array());
echo "<pre>";
if (is_resource($process)) {
while ($s = fgets($pipes[1])) {
print $s;
flush();
}
}
echo "</pre>";
proc_close();
echo 'Proc finished!';
回答here,但稍作修改。