Lo script l'ho messo sulla mia macchina in locale.
Forse è meglio che posti il codice:
<?php
$sito = "www.html.it";
// -n serve per Windows
// - c serve per LINUX
/* vedo su cosa gira lo script. se invece sappiamo per certo il tipo di macchina si può eliminare questa riga e sostituire la var $tipo_server */
(!eregi("Windows",$_SERVER["HTTP_USER_AGENT"])) ? $tipo_server = "-c" : $tipo_server = "-n";
$sito_clean = str_replace("http://","",$sito);
############################# faccio il ping
exec("ping $tipo_server 5 $sito_clean", $valori) ;
###############################
//elenco tutti i risultati
for($i=0;$i<count($valori) ;$i++){
//sostituzioni
$valori["$i"] = str_replace("from","da",$valori["$i"]);
$valori["$i"] = str_replace("time","tempo",$valori["$i"]);
$valori["$i"] = str_replace("packets","pacchetti",$valori["$i"]);
$valori["$i"] = str_replace("transmitted","trasmessi",$valori["$i"]);
$valori["$i"] = str_replace("received","ricevuti",$valori["$i"]);
$valori["$i"] = str_replace("loss","persi",$valori["$i"]);
$valori["$i"] = str_replace("round-trip","valori",$valori["$i"]);
$valori["$i"] = str_replace("avg","medio",$valori["$i"]);
if($i != 7){
echo("Riga $i -> ".$valori[$i]."
") ;
}
}
?>
Nella variabile $sito è ovvio ho inserito un host che fortunatamente viene raggiunto corretamente. Ma se inserissi un indirizzo IP per la quale sono sicuro che il servizio HTTP è down, perchè l'ho preventivamente buttato giù, il ping funziona comunque.
Questo sta comunque nella normalità delle funzionalità del comando.
Significa che molto probabilmente non devo usare il ping per vedere se un sito è raggiungibile.
Ma allora cosa devo usare?
O cosa sto sbagliando?
grazie