Avatar billede noob2003 Nybegynder
25. september 2006 - 16:42 Der er 9 kommentarer og
1 løsning

online ud fra IP / Port

Hvordan laver man et online / offline script ud fra IP / port ???
Avatar billede yHec Novice
25. september 2006 - 17:16 #1
Prøv dette her

<?php
function pingip($url, $port){
    if (@fsockopen($url, $port, $errno, $errstr, 5)){
          echo "<strong>online</strong>";
    } else {
          echo "<strong>offline</strong>";
    }
}

$ip=$_SERVER['REMOTE_ADDR'];
$ftp=pingip($ip,21);
$http=pingip($ip,80);
?>

/y
Avatar billede yHec Novice
25. september 2006 - 17:19 #2
Godt så.... Jeg prøver lige igen...

<?php
function pingip($url, $port){
    if (@fsockopen($url, $port, $errno, $errstr, 5)){
          return "<strong>online</strong>";
    } else {
          return "<strong>offline</strong>";
    }
}

$ip=$_SERVER['REMOTE_ADDR'];
$ftp=pingip($ip,21);
$http=pingip($ip,80);
echo "ftp på $ip er $ftp<br>";
echo "http på $ip er $http<br>";
?>

/y
Avatar billede noob2003 Nybegynder
25. september 2006 - 17:24 #3
noget mere simpel da jeg indtaster fast IP  og enten port 21 eller 80
Avatar billede cgroup Nybegynder
25. september 2006 - 18:55 #4
Øhmm, det er da præcis det du har fået :-) - mere simpelt kan det næsten ikke gøres
Avatar billede noob2003 Nybegynder
25. september 2006 - 19:36 #5
fordi det skal kun bruges til mere end 1 ip alá
<?php
function pingip($url, $port){
    if (@fsockopen($url, $port, $errno, $errstr, 5)){
          return "<strong><font face='arial' color='#00FF00'>online</font></strong>";
    } else {
          return "<strong>offline</strong>";
    }
}

$ip='192.168.1.1';
$http=pingip($ip,8080);
echo "<center><b>MainRouter er $http<br>";
?>
<?php
function pingip($url, $port){
    if (@fsockopen($url, $port, $errno, $errstr, 5)){
          return "<strong><font face='arial' color='#00FF00'>online</font></strong>";
    } else {
          return "<strong>offline</strong>";
    }
}

$ip='192.168.1.21';
$http=pingip($ip,139);
echo "<b>Peter er $http<br>";
?>
men det fejler
Avatar billede yHec Novice
25. september 2006 - 20:05 #6
Det viker fint her hos mig. Er du sikker op, du ikke rammer ind i en firewall, eller at du bruger en forkert ip?

Iøvrig kan du sagtens bruge den til mere end en ip - det bare at kalde funktionen med de ip'er du vil undersøge. Det kan gøres med en form.

/y
Avatar billede yHec Novice
25. september 2006 - 20:10 #7
Problemet er ogaå, at du skriver fundtionen 2 gange, derved deklarerer du pingip 2 gange. Det må man ikke, det er heller ikke nødvendigt!

Gør dette her i stedet:

<?php
function pingip($url, $port){
    if (@fsockopen($url, $port, $errno, $errstr, 5)){
          return "<strong><font face='arial' color='#00FF00'>online</font></strong>";
    } else {
          return "<strong>offline</strong>";
    }
}

$ip='192.168.1.1';
$http=pingip($ip,8080);
echo "<center><b>MainRouter er $http<br>";

$ip='192.168.1.21';
$http=pingip($ip,139);
echo "<b>Peter er $http<br>";
?>

/y
Avatar billede noob2003 Nybegynder
26. september 2006 - 13:18 #8
Smid lige et svar, det virker ;)
Avatar billede yHec Novice
26. september 2006 - 22:27 #9
svar :-)
Avatar billede noob2003 Nybegynder
16. februar 2007 - 17:11 #10
hmm okay lukke og snupper points selv så  LOL
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