En php, hay varias funciones que ejecutan comandos directamente en la máquina donde se aloja la página php. Entre estas funciones están
exec(),
shell_exec() y
system(). Todas ellas funcionan, pero no esperes hacer cosas demasiado complejas, como utilizar pipes ya que no funcionará ninguna.
Tras mucho buscar en Google he visto una referencia que puede ayudarte, pero solamente si el grado de complejidad no es demasiado elevado.
El siguiente código muestra la salida del comando
ls -la | grep mydir
//ls -a | grep mydir
$proc_ls = proc_open("ls -a",
array(
array("pipe","r"), //stdin
array("pipe","w"), //stdout
array("pipe","w") //stderr
),
$pipes);
$output_ls = stream_get_contents($pipes[1]);
fclose($pipes[0]);
fclose($pipes[1]);
fclose($pipes[2]);
$return_value_ls = proc_close($proc_ls);
$proc_grep = proc_open("grep mydir",
array(
array("pipe","r"), //stdin
array("pipe","w"), //stdout
array("pipe","w") //stderr
),
$pipes);
fwrite($pipes[0], $output_ls);
fclose($pipes[0]);
$output_grep = stream_get_contents($pipes[1]);
fclose($pipes[1]);
fclose($pipes[2]);
$return_value_grep = proc_close($proc_grep);
print $output_grep;
?>
Más información sobre proc_open()
aqui
Si esta información te ha sido de ayuda pincha en mis anuncios. Nos ayudamos mutuamente. Gracias