PHP를 사용하여 일반적으로 사용되는 DOS 명령 ping 명령을 시뮬레이션합니다. 여기서 주로 사용되는 것은 PHP에 내장된 exec 함수로 시스템의 ping 명령을 호출하여 ping 명령 기능을 구현하는 것입니다.
<?php $to_ping='www.phpernote.com'; $count=2; $psize=66; echo "正在执行php ping命令,请等待...\n<br><br>"; flush(); while(1){ echo "<pre class="brush:php;toolbar:false">"; exec("ping -c $count -s $psize $to_ping", $list); for($i=0;$i<count($list);$i++){ print $list[$i]."\n"; } echo ""; flush(); sleep(3); } ?>
exec 기능을 사용하려면 서버가 호출 시스템 내장 기능을 지원해야 합니다. 또한 시스템과 같은 PHP 내장 기능을 사용하여 이 기능을 구현할 수도 있습니다. PHP 매뉴얼의 이 두 함수에 대한 설명:
exec --- 외부 프로그램 실행
구문: string exec ( string command [, array &output [, int &return_var]] )
설명:
exec()는 주어진 명령 명령을 실행하지만 아무것도 출력하지 않습니다. 명령을 실행하고 명령에서 모든 정보를 가져와야 하는 경우에는 passthru()를 사용할 수 있습니다. ) 이 기능입니다.
매개변수 배열이 제공되면 지정된 배열은 명령에 의해 출력된 각 줄로 채워집니다. 참고: 배열에 이미 일부 요소가 포함되어 있으면 exec()가 해당 요소를 배열 끝에 추가합니다. 이 함수가 요소를 추가하는 것을 원하지 않으면 배열을 exec()에 전달하기 전에 unset()을 호출할 수 있습니다.
array 및 return_var 매개변수가 제공되면 반환된 상태 명령이 이 변수에 기록됩니다.
참고: 사용자 입력의 데이터가 이 함수에 전달되도록 허용하는 경우 escapeshellcmd()를 사용하여 사용자가 시스템을 속여 임의의 명령을 실행하지 못하도록 해야 합니다.
참고: 이 함수를 사용하여 프로그램을 시작하고 백그라운드에서 실행되는 동안 그대로 두려면 프로그램의 출력이 파일이나 일부 출력 스트림으로 리디렉션되는지 확인해야 합니다. 그렇지 않으면 PHP가 리디렉션됩니다. 프로그램 실행이 끝날 때까지 정지합니다.
system --- 외부 프로그램 실행 및 출력 표시
구문: string system( string command [, int &return_var] )
설명:
system( )은 주어진 명령 명령을 실행하고, 결과를 출력합니다. return_var 매개변수가 제공되면 실행된 명령의 상태 코드가 이 변수에 기록됩니다.
참고: 사용자 입력의 데이터가 이 함수에 전달되도록 허용하는 경우 escapeshellcmd()를 사용하여 사용자가 시스템을 속여 임의의 명령을 실행하지 못하도록 해야 합니다.
참고: 이 함수를 사용하여 프로그램을 시작하고 백그라운드에서 실행되는 동안 그대로 두려면 프로그램의 출력이 파일이나 일부 출력 스트림으로 리디렉션되는지 확인해야 합니다. 그렇지 않으면 PHP가 리디렉션됩니다. 프로그램 실행이 끝날 때까지 정지합니다.
둘 다 시스템 셸 명령을 호출하는 데 사용됩니다.
exec는 모든 실행 결과를 $output 함수(배열)로 반환할 수 있습니다. $status는 실행 상태입니다.
systerm은 결과를 직접 반환할 필요가 없습니다. 마찬가지로 $return_var는 실행 상태 코드입니다.
exec 예:
<?php $a = exec("dir",$out,$status); print_r($a); print_r($out); print_r($status); ?>
시스템 예시 :
<?php $a = system("dir",$out); print_r($a); print_r($out); ?>
더 많은 php 시뮬레이션 ping 명령어(php exec 기능 사용법) 관련 글은 PHP 중국어 홈페이지를 참고해주세요 !