설명
string exec ( string $command [, array &$output [, int &$return_var ]] )
exec() 는 지정된 명령어 command 를 실행합니다.
파라미터
command
실행하는 명령
output
인수가output 존재할 경우 지정한 배열은 명령의 출력들로 채울 수 있습니다. \n 같은 직후의 공백은 이 배열에는 포함되지 않습니다. 배열에 이미 어떤 요소가 포함되는 경우exec() 는 배열의 마지막에 추가된다 것을 생각하세요. 함수가 요소를 추가하기를 바라지 않는다면 그것이exec() 에게 건네기 전에 배열 unset() 를 호출하세요.
return_var
인수return_var가, 인수 output 과 함께 존재할 경우 실행한 명령어의 위상이 이 변수에 씁니다.
반환 값
명령 결과의 마지막 행을 갚겠습니다. 명령을 수행하고 일절 간섭을 받지 않고 직접 명령에서 모든 데이터를 받을 필요가 있다면PassThru() 함수를 사용하세요.
실행된 명령 출력을 취득하려면 반드시output 파라미터를 설정 사용하세요.
예
사례 1exec() 의 예
<?php
// ("whoami" 명령을 패스에 있는 시스템상에서)
// 실행 중의 php/httpd프로세스를 소유하는 유저의 이름을 출력
echo exec('whoami');
?>
주의
경고
사용자가 입력한 데이터를 이 함수에 주기를 허용하는 경우 사용자가 임의의 커멘드를 실행할 수 있도록 시스템을 속일 못하게escapeshellarg() 또는 escapeshellcmd() 를 적용할 필요가 있습니다.
주의:
프로그램이 이 함수로 시작될 경우 배경으로 처리를 진행시키는에는 프로그램의 출력을 파일이나 다른 출력 스트림에 방향 수정할 필요가 있습니다. 안 그러면 프로그램이 실행을 마칠 때까지 PHP는 행 합니다.
주의: 세이프 모드가 유효한 경우 safe_mode_exec_dir 안에 있는 실행 프로그램만을 실행 가능합니다. 실제적인 이유로 현재 실행 프로그램에 대한 패스를.. 포함할 수 없습니다.
경고
세이프 모드가 유효한 경우 명령 문자열은 escapeshellcmd() 그래서 확장됩니다. 즉,는echo y | echo x ,echo y \| echo x 입니다.