설명
string system ( string $command [, int &$return_var ] )
system() 는 지정한 command 를 실행하고 결과를 출력하는 C언어의 system함수를 닮았습니다.
PHP를 서버 모듈로서 실행하는 경우, system() 콜로들을 출력한 뒤 Web서버의 출력 버퍼가 자동적으로 제거됩니다.
명령을 실행하고, 아무런 가공도 하지 않고 모든 데이터를 명령에서 직접 돌려줄 필요가 있는 경우,passthru() 함수를 사용하세요.
파라미터
command
실행하는 명령.
return_var
인수가return_var 존재할 경우 실행한 명령어의 갚을 위상이 이 변수에 씁니다.
반환 값
성공 때는 명령 출력의 마지막 행을 돌려주고 실패 시FALSE 를 갚겠습니다.
예
사례 1system() 의 예
<?php
echo '<pre>';
// 셸 명령어 "ls" 의 모든 결과를 출력하고 출력의 마지막
// 행을 $last_line 에 격납합니다. 셸 명령어의 돌아가는 값은
// $retval 에 저장됩니다.
$last_line = system('ls', $retval);
// 추가 정보를 표시합니다.
echo '
</pre>
<hr />Last line of the output: ' . $last_line . '
<hr />Return value: ' . $retval;
?>
주의
경고
사용자가 입력한 데이터를 이 함수에 주기를 허용하는 경우 사용자가 임의의 커멘드를 실행할 수 있도록 시스템을 속일 못하게escapeshellarg() 또는 escapeshellcmd() 를 적용할 필요가 있습니다.
주의:
프로그램이 이 함수로 시작될 경우 배경으로 처리를 진행시키는에는 프로그램의 출력을 파일이나 다른 출력 스트림에 방향 수정할 필요가 있습니다. 안 그러면 프로그램이 실행을 마칠 때까지 PHP는 행 합니다.
주의: 세이프 모드가 유효한 경우 safe_mode_exec_dir 안에 있는 실행 프로그램만을 실행 가능합니다. 실제적인 이유로 현재 실행 프로그램에 대한 패스를.. 포함할 수 없습니다.
경고
세이프 모드가 유효한 경우 명령 문자열은 escapeshellcmd() 그래서 확장됩니다. 즉,는echo y | echo x ,echo y \| echo x 입니다.