andare a capo chiamando un ping

ivarello

Utente Attivo
14 Dic 2012
211
1
16
Ragazzi stavo inserendo un script per fare un test di ping così:

PHP:
Indirizzo IP o nome dominio<br>
<form method="post" action="ping.php?ping=test">
    <input type="text" name="ip">
    <input type="submit" value="test!">
</form>
<?php
    $ip_dominio = $_POST["ip_dominio"];
	$ping = "ping -w 10 -n 5 $ip_dominio";
    if ($_GET["ping"] == "test")
    {
        echo system($ping);
    }
?>
mi da il risultato tutto insieme invece che ordinato come su prompt dei comandi vorrei quindi mettere a capo le righe ho provato così:
echo system($ping."\n","<br>");
o
echo system("\n","<br>", $ping);
ma niente :S come potrei risolvere
 
Ciao prova cosi':
PHP:
<?php
    $ip_dominio = $_POST["ip_dominio"];
    $ping = "ping -w 10 -n 5";
    if ($_GET["ping"] == "test") {
        echo system"$ping <br> $ip_dominio";
	
    }
?>
 
grazie per la risposta ma così non funziona proprio il codice
se faccio così

PHP:
Indirizzo IP o nome dominio<br> 
<form method="post" action="ping.php?ping=test"> 
    <input type="text" name="ip"> 
    <input type="submit" value="test!"> 
</form> 
<?php 
    $ip_dominio = $_POST["ip"]; 
    $ping = "ping -w 10 -n 5 $ip_dominio"; 
    if ($_GET["ping"] == "test") 
    { 
        $risultato = system($ping); 
		echo $risultato;
    } 
?>

mi restituisce questo:
HTML:
Esecuzione di Ping 10.1.0.1 con 32 byte di dati: Risposta da 10.1.0.1: byte=32 durata=13ms TTL=64 Risposta da 10.1.0.1: byte=32 durata=15ms TTL=64 Risposta da 10.1.0.1: byte=32 durata=6ms TTL=64 Risposta da 10.1.0.1: byte=32 durata=8ms TTL=64 Risposta da 10.1.0.1: byte=32 durata=18ms TTL=64 Statistiche Ping per 10.1.0.1: Pacchetti: Trasmessi = 5, Ricevuti = 5, Persi = 0 (0% persi), Tempo approssimativo percorsi andata/ritorno in millisecondi: Minimo = 6ms, Massimo = 18ms, Medio = 12ms Minimo = 6ms, Massimo = 18ms, Medio = 12ms

invece vorrei questo risultato

HTML:
Esecuzione di Ping 10.1.0.1 con 32 byte di dati: 
Risposta da 10.1.0.1: byte=32 durata=13ms TTL=64 
Risposta da 10.1.0.1: byte=32 durata=15ms TTL=64 
Risposta da 10.1.0.1: byte=32 durata=6ms TTL=64 
Risposta da 10.1.0.1: byte=32 durata=8ms TTL=64 
Risposta da 10.1.0.1: byte=32 durata=18ms TTL=64 
Statistiche Ping per 10.1.0.1: 
Pacchetti: Trasmessi = 5, 
Ricevuti = 5, Persi = 0 (0% persi), 
Tempo approssimativo percorsi andata/ritorno in millisecondi: 
Minimo = 6ms, 
Massimo = 18ms,
Medio = 12ms 
Minimo = 6ms, 
Massimo = 18ms, 
Medio = 12ms

è possibile?
 
ciao prova a fare così:

PHP:
<?php 
   $ip_dominio = $_POST["ip"];
   $ping = "ping -w 10 -n 5 "."<br>". $ip_dominio; 
   if ($_GET["ping"] == "test") {  
	  $risultato = system($ping);
      echo $risultato;
    } 
?>
 
Non funziona perchè il comando da te descritto corrisponderebbe a questo nel prompt dei comandi:

ping -w 10 -n 5 "."<br>". $ip_dominio -------> tradotto su prompt

c:\ping -w 10 -n 5
c:\10.1.0.1

invece il comando deve essere

$ping = "ping -w 10 -n 5 $ip_dominio";

c:\ping -w 10 -n 5 10.1.0.1

non credo ci sia soluzione :S
 
A tutto c'è una soluzione
PHP:
    echo "<pre>";
    $risultato = system($ping); 
    echo "</pre>";
 

Discussioni simili