>  기사  >  백엔드 개발  >  PHP는 ping 명령을 시뮬레이션합니다(php exec 함수 사용 방법).

PHP는 ping 명령을 시뮬레이션합니다(php exec 함수 사용 방법).

高洛峰
高洛峰원래의
2016-12-21 10:36:591473검색

PHP를 사용하여 일반적으로 사용되는 DOS 명령 ping 명령을 시뮬레이션합니다. 여기서 주로 사용되는 것은 PHP에 내장된 exec 함수로 시스템의 ping 명령을 호출하여 ping 명령 기능을 구현하는 것입니다.

<?php
$to_ping=&#39;www.phpernote.com&#39;;
$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 중국어 홈페이지를 참고해주세요 !


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.