Ping script
Alleen als de host offline is duurt het 6.04426 seconde voordat de pagina zichtbaar wordt. Nu is mijn vraag weten jullie een manier om de pagina ook bij een offline host direct zichtbaar te maken?
Ik weet niet of mijn probleem met PHP op te lossen is of dat ik moet kijken naar JQuery of Ajax o.i.d.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
$outputShell3 = shell_exec("ping -c1 -s0 -S1 -W2 $newip");
if(strpos($outputShell3, '1 received') AND strpos($outputShell3, '0% packet loss') AND strpos($outputShell3, '8 bytes') )
{
echo "<td WIDTH=\"162\">";
echo "<font color=green>Host Online</font>";
echo '<input type="button" value="IP Check" onclick="location.reload(true);" />';
echo "</td>";
}else {
echo "<td>";
echo "<font color=red>Host Offline</font>";
echo '<input type="button" value="Online?" onclick="location.reload(true);" />';
}
if(strpos($outputShell3, '1 received') AND strpos($outputShell3, '0% packet loss') AND strpos($outputShell3, '8 bytes') )
{
echo "<td WIDTH=\"162\">";
echo "<font color=green>Host Online</font>";
echo '<input type="button" value="IP Check" onclick="location.reload(true);" />';
echo "</td>";
}else {
echo "<td>";
echo "<font color=red>Host Offline</font>";
echo '<input type="button" value="Online?" onclick="location.reload(true);" />';
}
Gewijzigd op 25/06/2012 12:53:32 door - SanThe -
Maar is het met PHP niet mogelijk om de "ping" te doen nadat de pagina geladen is?
hoe kan je pingen als er geen pagina geladen wordt?
Ja hoor dat kan, moet je inderdaad met AJAX aan de slag. Zo kan je netjes aangeven dat hij een verzoek doet voor de ping, en uiteindelijk weergeven hoe lang het request er over gedaan heeft.
Crispijn..... misschien een brutale vraag maar heb je iets van een voorbeeldje....
En jij denkt dat ik nog niet gekeken had op google..
Waarschijnlijk niet, anders zou je niet om een kant en klaar script vragen.
Vraag toch ook niet om een kant en klaar script? Mijn stukje is toch ook geen compleet script maar een gedeelte/voorbeeld....
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//------------index.html--------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Ping</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('body').load('ping.php');
});
</script>
</head>
<body>
<center><h1>Loading...</h1></center>
</body>
</html>
//-------------ping.php---------------
<?php
$outputShell3 = shell_exec("ping -c1 -s0 -S1 -W2 $newip");
if(strpos($outputShell3, '1 received') AND strpos($outputShell3, '0% packet loss') AND strpos($outputShell3, '8 bytes') )
{
echo "<td WIDTH=\"162\">";
echo "<font color=green>Host Online</font>";
echo '<input type="button" value="IP Check" onclick="location.reload(true);" />';
echo "</td>";
}else {
echo "<td>";
echo "<font color=red>Host Offline</font>";
echo '<input type="button" value="Online?" onclick="location.reload(true);" />';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Ping</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('body').load('ping.php');
});
</script>
</head>
<body>
<center><h1>Loading...</h1></center>
</body>
</html>
//-------------ping.php---------------
<?php
$outputShell3 = shell_exec("ping -c1 -s0 -S1 -W2 $newip");
if(strpos($outputShell3, '1 received') AND strpos($outputShell3, '0% packet loss') AND strpos($outputShell3, '8 bytes') )
{
echo "<td WIDTH=\"162\">";
echo "<font color=green>Host Online</font>";
echo '<input type="button" value="IP Check" onclick="location.reload(true);" />';
echo "</td>";
}else {
echo "<td>";
echo "<font color=red>Host Offline</font>";
echo '<input type="button" value="Online?" onclick="location.reload(true);" />';
}
?>
Gewijzigd op 25/06/2012 18:49:58 door lex van der poel
Het voorbeeld doet toch ook een (volledige) reload van de pagina? Als ik de onderstaande variable als test in de code opneem dan ziet ik ook dat de datum verandert bij het aanklikken van de button...
$DatumTijd = date( "Y-m-d H:i:s");
@ Piet in het voorbeeld van Lex vdp wordt ping.php opgeroepen eens de pagina volledig geladen is.
Quote:
Ik heb een php "ping" script gemaakt wat voor ons goed werkt. Nu is het alleen zo dat als de machine online is het script bijna gelijk in het scherm verschijnt (0.02127 seconde)
Alleen als de host offline is duurt het 6.04426 seconde voordat de pagina zichtbaar wordt. Nu is mijn vraag weten jullie een manier om de pagina ook bij een offline host direct zichtbaar te maken?
Alleen als de host offline is duurt het 6.04426 seconde voordat de pagina zichtbaar wordt. Nu is mijn vraag weten jullie een manier om de pagina ook bij een offline host direct zichtbaar te maken?
dat is precies wat mijn voorbeeld doet, Als je index.html laad krijg je inbeeld loading... maar ondertussen wordt ping.php geladen en als de host offline is komt de data uit ping.php binnen 6 seconde op de pagina te voorschijn...
-- offtopic --
sorrie voor de laate reactie heb een tijd niet op phphulp gezeten.
Toevoeging op 08/07/2012 22:53:55:
@piet hij herlaad alleen de content van de pagina maar je blijft op index.html