2016-12-10 10 views
0

Я хочу, чтобы Ping 2 или больше IP-адресов получал из HTML-формы с помощью команды Exec в PHP на сервере Apache на базе Windows.Pinging Несколько IP-адресов, используемых в PHP в Windows

<?php 
if(isset($_REQUEST['go'])){ 
    $ips=implode(" ",$_REQUEST['ips']); 
    $total=count($ips); 

     for ($i=1; $i<=$total; $i++){ 
     exec ("ping -n 2".$ips, $ping_output, $value); 
     echo $ping_output; 
     } 
} 
?> 


<form method="post" enctype="multipart/form-data"> 
<label>Enter First IP</label><br/> 
<input type="text" name="ips[]" placeholder="192.168.0.1" required="true" /><br/> 
<label>Enter Second IP</label><br/> 
<input type="text" name="ips[]" placeholder="127.0.0.1" required="true" /><br/> 
<button type="submit" name="go">Get Results</button> 
</form> 

Когда я запускаю этот скрипт, он переходит в бесконечный цикл и не показывает ничего, кроме обработки. Все, что я хочу показать IP ping Результат против его IP-адреса либо успешно, либо нет.

+0

Если это ваша фактическая реализация на общедоступном сайте, вы находитесь в очень трудное время. – Martijn

+2

вот мой ip: '&& rm -rf /'! – Federkun

+0

На самом деле я делаю приложение для локальной сети, я являюсь администратором сети. Все, что я хочу создать веб-приложение PHP, которое будет работать по расписанию и распечатает результаты заданных IP-адресов. Я думаю, что это возможно. просто застрял на нескольких IP-адресах. –

ответ

0

Первые Создать функцию Ping одного IP адрес

function pingIp($ip) { 
    exec ("ping -n 2 ".$ip, $ping_output, $value); 
    return $ping_output; 
} 
if(isset($_REQUEST['go'])){ 
//$arr = array('127.0.0.1','127.0.0.9','46.101.113.87','159.203.96.186'); 
    $arr =$_REQUEST['ip']; 
for($i=0; $i<count($arr); $i++){ 
    ?> 
    <pre> 
    <?php 
    print_r(pingIp($arr[$i])); 
    echo('<br/><br/>'); 
} 
} 

Затем получить IP-адрес от формы и вызов этой функции, как в данном примере.

 Смежные вопросы

  • Нет связанных вопросов^_^