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("pipe", "w") // stderr is a file to write to ); $cwd = '/tmp'; $env = array(); $process = proc_open($cmd, $descriptorspec, $pipes, $cwd, $env); if (is_resource($process)) { fwrite($pipes[0],$string); fclose($pipes[0]); $data = stream_get_contents($pipes[1]); fclose($pipes[1]); fclose($pipes[2]); $proc_result = proc_close($process); } if (!$proc_result) { return $data; } else { return ''; } } }//end class ?>