Avatar billede Slettet bruger
11. april 2002 - 16:30 Der er 28 kommentarer og
1 løsning

Ping i PHP

hæ hæ hæ

Jeg er på den igen... Kan sq ikke finde ud af at pinge i PHP...
Jeg skal pinge en IP, 192.168.1.8 og have Tændt eller Slukket udskrevet :D

HVORDAN?
Avatar billede razor Nybegynder
11. april 2002 - 16:32 #1
Hvordan pinger du normalt?
Avatar billede lonely Nybegynder
11. april 2002 - 16:34 #2
<?
$ip = getenv('REMOTE_ADDR');
if (($ip == "") || ($ip == "")){ //IP-adresserne du vil blokere
echo "<p><font color=#FF0000 face=Verdana size=72>Din adgang til denne side er blokeret</font></p>";
exit;
}else{
    echo "Du har adgang til siden"; //Den rigtige sides indhold
}
?>
Avatar billede Slettet bruger
11. april 2002 - 16:34 #3
jeg pinger ikke normalt :D

jeg skal lave en oversigt over de computere, som er i mit netværk!
Avatar billede lonely Nybegynder
11. april 2002 - 16:34 #4
såden vil jeg gøre det! (skulle også lige lave det som et svar!)
Avatar billede Slettet bruger
11. april 2002 - 16:34 #5
lonely > Jeg vil ikke blokere IP! Jeg vil have at vide hvor hurtigt en given computer svarer... IP
Avatar billede lauer Nybegynder
11. april 2002 - 16:46 #6
philip, hvad er det for en webserver du har?
windows eller linux?

det som jeg har gjort på min www.lauer.dk/status.php
er at have et script som der pinger mine computer en gang hvert 5 min og gemmer et 1 eller 0 i en fil.
I php henter jeg så filen og tjekker indholdet.
det er det hurtigste... hvis du skal pinge hver gang en besøger din side tager det alt for lang tid.
Avatar billede delwin Nybegynder
11. april 2002 - 16:47 #7
Dette er et script n0rmality lavede for en måneds tid siden.. jeg har rettet det til så det skriver hvor lang tid ping'en tog..

<?php
$ip = "80.198.137.74";

$ping = `ping -c 1 $ip`;
if (ereg("time=", $ping)) {
    ereg("time=(([0-9]+)(\.[0-9]+)?)",$ping,$reg);
    echo "Din ping kom igennem på ".$reg[1]." ms";
} else {
    $msg = "Fejl..";
}

echo $msg;
?>
Avatar billede cool-wil Nybegynder
11. april 2002 - 16:49 #8
machomann>
Kan du evt. komme med lidt source code, til hvordan du har fået:oppe 2 dage 5 timer 59 minutter 21 sekunder 
i stedet for:
4:48PM up 34 days, 17:33, 0 users, load averages: 0.00, 0.00, 0.00

så alt der der load averages osv ikke er der....
kan man gøre det på en win maskine?
Avatar billede delwin Nybegynder
11. april 2002 - 16:52 #9
hvis det skal køre på et dansk windows system skal det nok se således ud

<?php
$ip = "80.198.137.74";

$ping = `ping -n 1 $ip`;
if (ereg("tid=", $ping)) {
    ereg("tid=(([0-9]+)(\.[0-9]+)?)",$ping,$reg);
    echo "Din ping kom igennem på ".$reg[1]." ms";
} else {
    $msg = "Fejl..";
}

echo $msg;
?>
Avatar billede lauer Nybegynder
11. april 2002 - 16:53 #10
du skal have en fil for at få windows uptiden i sekunder
www.lauer.dk/filer/uptime.exe

og så er det jo bare at dele sekunderne op i sek/min/timer/dage  :)

og på en linux skal du hente uptiden i sek, den ligger sikkert i en fil i /proc
du skal ikke bruge det uptime giver
Avatar billede cool-wil Nybegynder
11. april 2002 - 16:55 #11
har du en ide til hvordan?
jeg kan godt oprette et nyt spm:-) jeg er ikke en haj til php:-)
Avatar billede lauer Nybegynder
11. april 2002 - 16:57 #12
Avatar billede cool-wil Nybegynder
11. april 2002 - 16:59 #13
mm det vil jeg da se på, og afprøve..
skulle det virke på en win maskine?
Avatar billede cool-wil Nybegynder
11. april 2002 - 17:02 #14
din config.inc.php skal den bruges
Avatar billede lauer Nybegynder
11. april 2002 - 17:04 #15
tja... se på
function win_uptime()
og
function sec_to_time()

det er hvad du skal bruge... det skal nok bare tilpasses efter dit system... f.eks. hvor uptime.exe ligger.
ved mig henter den en side fra min workstation, som kører uptime.exe
det skal du bare udskrifte med

exec("c:/sti/til/uptime.exe", $uptime);
print $uptime[0];
Avatar billede lauer Nybegynder
11. april 2002 - 17:05 #16
nej, selvfølgelig skal du ikke bruge noget fra config.inc.php
Avatar billede Slettet bruger
11. april 2002 - 17:21 #17
Hvilken EXE fil er det du bruger til ping?
Avatar billede Slettet bruger
11. april 2002 - 17:25 #18
delwin > Det script, der. Kan man ikke sætte en timeout på fx. 2 sekunder?
Avatar billede Slettet bruger
11. april 2002 - 17:30 #19
Jeg tror, at jeg mangler comfig.inc.php
Avatar billede lauer Nybegynder
11. april 2002 - 17:42 #20
DOH!!!:.. philip... prøv dog at læse hvad jeg skriver.. du skal hente
www.lauer.dk/filer/uptime.exe
og retter det jeg skriver... !!!
Avatar billede Slettet bruger
11. april 2002 - 17:53 #21
jeg kan ikke finde det sted hvor jeg skal ændre stien til uptime.exe
Avatar billede lauer Nybegynder
11. april 2002 - 17:59 #22
læs dog hvad jeg skriver...

du skal ændre win_uptime() så der kun står

exec("c:/sti/til/uptime.exe", $uptime);
return $uptime[0];
Avatar billede cool-wil Nybegynder
11. april 2002 - 19:42 #23
machoman>
Nu virker det, men hvor har du indsat værdier fra famile osv?
jeg kan kun få dine infos frem, ikke mine egen, hvor sætter jeg min egen server ip ind f.eks.?
Avatar billede cool-wil Nybegynder
11. april 2002 - 19:48 #24
.ping("router")
du har sådan en her til routeren f.eks.
hvor har du sat værdien til denne?
Avatar billede lauer Nybegynder
11. april 2002 - 20:10 #25
Det kan du jo ikke bruge...
det var det jeg fortalte før, med at du skal lave et script som pinger dine computere og gemmer 1 eller 0 i en fil. Jeg ved ikke lige hvordan du laver det på en windows.

det eneste du kan bruge min side til er at bruge funktionen der laver sekunder om til sek/min/timer/dage.... og lidt win_uptime() hvis du lige ændre den sådan som jeg sagde for et par timer siden.
Avatar billede cool-wil Nybegynder
11. april 2002 - 21:21 #26
mmm oki, så kan jeg ikke bruge det, er desværre ikke lige advanceret nok til php endnu
Avatar billede cool-wil Nybegynder
12. april 2002 - 10:16 #27
macho> http://www.eksperten.dk/spm/197139
har lige oprettet denne...
håber det er ok, jeg bruger dit eksempel
Avatar billede cool-wil Nybegynder
12. april 2002 - 16:15 #28
kan du evt kigge lidt på mit spm machoman?
det kunne jo være at dig med ideen, kan hjælpe:-)
Avatar billede Slettet bruger
26. maj 2002 - 11:44 #29
Jeg har ikke fået svar på mit spørgsmål. Hvordan får jeg fx. 10 ms?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester