Ping script?

PHP

12 svar · 401 visningar · startad av Papa Deoo

Medlem sedan sep. 200141 inlägg
Trådstart#1

Hej! Bara undrar om det finns någon som har ett script som pingar en server.

Mvh

Peter

Medlem sedan juni 2001181 inlägg
#2

Om du ligger på linux/unix server, så borde det funka med

<?
$output=system("ping webforum.nu");
echo $output;
?>
Medlem sedan sep. 200193 inlägg
#3

Har ett litet problem här va...

Jag kör följande kod, och jag vill att enbart $data skall skrivas ut, någon som vet hur man gör för att inte skriva ut resten på skärmen, alltså det som genereras av system() ?

<?PHP
$command="ping lunarstorm.se -t ttl -c1 | tail -1 | awk '{print $4 \" \" $5}'";
$output = system($command);
system("exit(0)");
$data = str_replace('PING', '', $output);
echo "DATA: $data";
?>

Medlem sedan sep. 20013 inlägg
#4

system() skriver ut allt den får på skärmen, byt ut det mot exec() istället, den skriver inte ut något.

Läs mer på http://www.php.net/manual/en/function.exec.php

Här behöver du ju inte tänka på det, men om du ska anända nåt som en in^H^Hanvändare matar in, så glm inte att använda escapeshellcmd()

//Jed

Medlem sedan nov. 19991 033 inlägg
#5

Så här kollar jag datorerna i vårt i nät.
Hämtar förvisso IP:et från en MySQl-db men det kan ju enkelt ändras.

$datorer = mysql_query("SELECT * FROM computers ORDER BY computername", DB);
while ($dator = mysql_fetch_array($datorer)) {

exec("ping -c 2 $dator[ip]", $data, $value);
if ($value == 0) {
	print ("network_on.gif\n"); }
	else {
	print ("network_off.gif\n"); }
}

2:an anger antalet försök innan det betraktas som en timeout ifall maskinen inte är igång. Tar lite tid om det är flera maskiner som time'ar ut...

[Redigerat av FlashX den 20 sep 2001]

Medlem sedan sep. 2001147 inlägg
#6

hej.

Hur gör man om detta script så att den bara pingar 1 dator?
alltså utan mysql.. (jag är väldigt ny på php) tack!

Medlem sedan mars 20007 896 inlägg
#7
exec("ping -c 2 [b]datornamn eller IP här[/b]", $data, $value);
if ($value == 0) {
&nbsp; &nbsp; echo "uppe";
}
else {
&nbsp; &nbsp; echo "nere";
}
Medlem sedan sep. 2001147 inlägg
#8

det fungerar inte :(

"Parse Error" blir det...bör tilläggas att jag använder Mac OS X server 2.0.

vad betyder egentligen exec("ping -c 2 127.0.0.1", $data, $value);

Vad menas med $data och $value?

Medlem sedan juni 2001181 inlägg
#9

vad betyder egentligen exec("ping -c 2 127.0.0.1", $data, $value);

Betyder kör kommandot/programmet " ping -c 2 127.0.0.1 "

ping är ett unix kommando för att skicka ett litet paket till en server och se om man får svar.
Ingen aning om Macen har ett ping kommando.

Som det är skrivet ovan, så fylls arrayen $data med utdatan från kommandot och $value talar om ifall kommandot returnerade OK. I det här fallet om servern svarade.

Medlem sedan juni 2001181 inlägg
#10

Kollade lite. Och det verkar som Mac OS X har ping. http://www.resexcellence.com/hack_html_00/10-04-00.shtml

Medlem sedan sep. 2001147 inlägg
#11

ehh, ja...självklart har Mac OS X ping... det är inte det som är problemet, skulle jag tro......ska undersöka

Medlem sedan sep. 2001147 inlägg
#12

Parse error: parse error in /Library/WebServer/Documents/ping.php on line 1

får jag nu... med exakt denna kod:
<?
exec("ping -c 2 192.168.10.80", $data, $value);
if ($value == 0) {
    echo "uppe";
}
else {
    echo "nere";
}
?>

Medlem sedan nov. 2000146 inlägg
#13

Jag har ett pingscrpt i shell (.sh)
hör av dig om du är intresserad av det.

/ Anders

258 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)