2012-02-02 1 views
0

반환 코드와 함께 시스템 명령의 출력 (원시)을 변수로 제공하는 PHP를 찾고 있습니다.출력 및 반환 코드가 포함 된 PHP 시스템 명령

  • exec 이것을 않지만 출력 배열이며 (\n 새로운 인덱스 온다) 따라서, 리턴 된 데이터가 적절하지 않다.
  • system은 변수가 아닌 출력 스트림에서 데이터를 출력합니다.
  • shell_exec은 반환 값을 제공하지 않지만 원시 데이터를 제공합니다. 당신이이 파괴 쓴

    ob_start(); 
    system($command, $returnCode); 
    $output = ob_get_clean(); 
    

    이 너무 implode는 않을 것, (각 출력 라인의 끝에 exec 모든 공백 문자를 유지해야한다 : 당신은 출력 버퍼링을 찾고있는 것처럼

+2

'exec()'의 결과를 문자열로 바꾸려면 ['implode()'] (http://php.net/manual/en/function.implode.php) 할 수 없습니까? – JJJ

+0

이봐 요 ...이 어리석은 일 때문에 오랫동안 붙어있었습니다 .... 감사합니다. –

답변

2

는 소리 옵션이 될 수 있음).

또는 프로세스를 열고 파이프 (표준 출력, STDOUT)를 받아서 출력을 읽을 수 있습니다. 그러나 더 복잡합니다 (그러나 더 많은 옵션을 제공합니다). proc_open을 참조하십시오.

관련 문제