Ping script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Piet Knaap

Piet Knaap

25/06/2012 12:43:43
Quote Anchor link
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?

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)
PHP script in nieuw venster Selecteer het PHP script
1
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);" />';
}
 
PHP hulp

PHP hulp

05/11/2024 15:39:08
 
- SanThe -

- SanThe -

25/06/2012 12:53:01
Quote Anchor link
De ping heeft gewoon tijd nodig tot ie een timeout krijgt.
Gewijzigd op 25/06/2012 12:53:32 door - SanThe -
 
Piet Knaap

Piet Knaap

25/06/2012 15:00:18
Quote Anchor link
Maar is het met PHP niet mogelijk om de "ping" te doen nadat de pagina geladen is?
 
Reshad F

Reshad F

25/06/2012 15:03:09
Quote Anchor link
hoe kan je pingen als er geen pagina geladen wordt?
 
Crispijn -

Crispijn -

25/06/2012 15:12:43
Quote Anchor link
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.
 
Piet Knaap

Piet Knaap

25/06/2012 15:36:01
Quote Anchor link
Crispijn..... misschien een brutale vraag maar heb je iets van een voorbeeldje....
 
John Cena

John Cena

25/06/2012 15:41:03
 
Piet Knaap

Piet Knaap

25/06/2012 15:56:08
Quote Anchor link
En jij denkt dat ik nog niet gekeken had op google..
 
John Cena

John Cena

25/06/2012 16:09:28
Quote Anchor link
Waarschijnlijk niet, anders zou je niet om een kant en klaar script vragen.
 
Piet Knaap

Piet Knaap

25/06/2012 16:29:41
Quote Anchor link
Vraag toch ook niet om een kant en klaar script? Mijn stukje is toch ook geen compleet script maar een gedeelte/voorbeeld....
 
Lex van der poel

lex van der poel

25/06/2012 18:49:17
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
//------------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);" />';
}

?>
Gewijzigd op 25/06/2012 18:49:58 door lex van der poel
 
Piet Knaap

Piet Knaap

27/06/2012 10:53:04
Quote Anchor link
Bedankt voor het voorbeeld. Ik heb het voorbeeld geprobeerd maar wat is hier anders aan dan aan mijn " onclick="location.reload(true);" " manier?

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");
 
Wouter De Schuyter

Wouter De Schuyter

27/06/2012 11:53:24
Quote Anchor link
@ Piet in het voorbeeld van Lex vdp wordt ping.php opgeroepen eens de pagina volledig geladen is.
 
Lex van der poel

lex van der poel

08/07/2012 22:35:23
Quote Anchor link
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?

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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.