Bonjour,
Voila j'aimerais savoir si il etait possible de m'aider.
J'aimerais un code PHP qui me permettrais de pinger nimporte quel adresse.
Je voudrais une fenetre où je met l'adresse que je souhaite, un bouton "PING" et le resultat du ping juste en dessous.
Cela me permettrais de faire un ping depuis nimporte quel PC qui n'a pas la fonction CMD justement.
j'ai trouver ce code sur un site :
<?php
function pingDomain($domain){
$starttime = microtime(true);
$file = fsockopen ($domain, 80, $errno, $errstr, 10);
$stoptime = microtime(true);
$status = 0;
if (!$file) $status = -1; // Site is down
else {
fclose($file);
$status = ($stoptime - $starttime) * 1000;
$status = floor($status);
}
return $status;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>MicroPing domain status checker</title>
<link href="style/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="main">
<div id="caption">DOMAIN STATUS</div>
<div id="icon"> </div>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="domain" id="domain">
Domain name:<center>
<table>
<tr><td><input class="text" name="domainname" type="text" size="36"></td></tr>
<tr><td align="center"><br/><input class="text" type="submit" name="submitBtn" value="Ping domain"></td></tr>
</table></center>
</form>
<?php
if (isset($_POST['submitBtn'])){
$domainbase = (isset($_POST['domainname'])) ? $_POST['domainname'] : '';
$domainbase = str_replace("http://","",strtolower($domainbase));
?>
<div id="caption">RESULT</div>
<div id="icon2"> </div>
<div id="result">
<table width="100%">
<?php
$status = pingDomain($domainbase);
if ($status != -1) echo "<tr><td>http://$domainbase is ALIVE ($status ms)</td><tr>";
else echo "<tr><td>http://$domainbase is DOWN</td><tr>";
?>
</table>
</div>
<?php
}
?>
<div>
</body>
Il fonctionne mais que pour des adresses web mais pas pour les IP
Merci beaucoup
Salut,
Normal, le script ouvre une socket sur le port 80 (http), ce n'est pas vraiment un ping, mais plus un hack ping. La socket utilise le protocole TCP ou UDP ce qui oblige d'avoir un port d'écoute ouvert
Salut,
Est-il possible de le modifier pour qu'il me donne en resultat les lignes de ping.
Merci d'avance