Serveraktivität prüfen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aufruf
beitrag
checken
datei
funktion
killer
link check
link echo
lokal
lokaler test
manual
meinst
normalerweise
offline beitrag
offline check
offline deswegen
praktisch
schlu
socket
warnung
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Moin moin,
kann mir jemand sagen, wie ich mit PHP ?berpr?fen kann, ob ein Server aktiv ist oder nicht, also praktisch eine Verbindungs?berpr?fung.
Danke im Voraus.
Total Killer
Willst du nur sehen ob der Server online oder offline ist? Oder soll das Script noch mehr Funktionen haben? -
ganz einfach:
function linkcheck($link){ if(isset($link)) { $check = @fopen ($link, "r"); } if($check){ fclose($check); return true; }else{ return false; } } function check($link) { if(linkcheck($link)){ echo "<a href='".$link."'>".$link."</a> ist <font color='green2'><b>Online</b></font>"; } else { echo "<a href='".$link."'>".$link."</a> ist <font color='red2'><b>Offline</b></font>"; } } check('http://www.lima-city.de');
Noch Fragen??
Stell einfach^^
EDIT: moment falscher code^^
Beitrag ge?ndert am 30.10.2005 14:47 von andy2309
EDIT2: soo... jetzt aber
Beitrag ge?ndert am 30.10.2005 14:48 von andy2309 -
@neo1000: Das ist eigentlich alles was ich will.
@ andy2309: Sieht schon gut aus, wenn du mir jetzt noch erkl?ren kannst wie das funktioniert, sind das funktionen von PHP? -
ja ganz genau!
also...
die datei in der ein link ?berpr?ft werden soll, muss mit der dateienedung .php sein!
also z.b. meinelinks.php
jetzt schreibst du am besten ganz an den anfang der datei rein:
function linkcheck($link){ if(isset($link)) { $check = @fopen ($link, 'r'); } if($check){ fclose($check); return true; }else{ return false; } } function check($link) { if(linkcheck($link)){ echo '<a href=''.$link.''>'.$link.'</a> ist <font color='green2'><b>Online</b></font>'; } else { echo '<a href=''.$link.''>'.$link.'</a> ist <font color='red2'><b>Offline</b></font>'; } }
!
dann schreibst du an die stelle, wo ein Link gepr?ft werden soll hin:
check('linkname');
statt linkname schreibst du nat?rlich den link rein!
alles klar? -
So weit ist mir das klar. Er sagt mir aber immer offline. Deswegen w?rde ich gerne wissen, was das f?r Befehle sind, die du da verwendet hast.
Ich hab das eben mal auf Lima getestet. Er sagt, Lima ist offline.
Und einen anderen Server habe ich auch gepr?ft. Auch offline.
Beitrag ge?ndert am 30.10.2005 14:58 von totalkiller -
ja das liegt wohl daran, dass du die funktion auf Lima ausprobierst...
aber irgendwie geht die funktion nicht auf lima-city...
( siehe http://andy2309.pyrokar.lima-city.de/lima.php )
auf anderen servern hingegen gehts!
( hier: lokaler test http://andy2309.pyrokar.lima-city.de/LimaKram/Screenshots/localgrehts.JPG )
-
Das ist toll, weil ich die genau auf Lima brauche um 'nen anderen Server zu pr?fen.
Lokal geht bei mir auch.
Meinst du man k?nnte es hinkriegen, dass dei Funktionaktiviert wird?
Beitrag ge?ndert am 30.10.2005 15:11 von totalkiller -
http://de2.php.net/manual/de/function.fopen.php
Kam PHP zum Schluss, dass es sich bei filename um ein registriertes Protokoll handelt, und ist dieses Protokoll als eine Netzwerk URL registriert, pr?ft PHP, ob allow_url_fopen aktiviert ist. Ist es nicht aktiviert, gibt PHP eine Warnung aus, und der Aufruf von fopen wird scheitern.
ich denke das aus sicherheitsgr?nden die allow_url_fopen nicht aktiviert sind uaf lima. normalerweise w?rde php dann eine warnung ausgeben, da aber mit @ die fehlermeldungen unterdr?cktwerden ist fopen fehlgeschlagen und somit FALSE = offline.
du kannst auf http://de2.php.net/manual/de/function.file-get-contents.php zur?ckgreifen, diese sollte auf lima auch laufen
function linkcheck($link){ if(isset($link)) { $check = file_get_contents($link); } if($check){ unset($check); return true; }else{ return false; } } function check($link) { if(linkcheck($link)){ echo '<a href=''.$link.''>'.$link.'</a> ist <font color='green2'><b>Online</b></font>'; } else { echo '<a href=''.$link.''>'.$link.'</a> ist <font color='red2'><b>Offline</b></font>'; } }
-
Nein, leider nicht, ist genau das gleiche Problem.
-
tja...
ich sage mal, es gibt keine andere funktion um das ?ber lima zu machen...
musst du dir halt was anderes ?berlegen! -
Meinst du, dasss es eventuell mit JS gehen k?nnte?
-
naja, also JavaScript is ja lokal...
da k?nnte der user ja gleich draufklicken
und wenns dann nich geht, wei? er, es geht halt nich -
Mist, na ja, dann muss ich mir wohl was anderes ?berlegen. Trotzdem danke f?r eure Hilfe.
-
Such hier im PHP-Forum mal nach "Socket" oder "fsockopen". Da wirst du mindestens 2 oder 3 Threads finden, die dir eine andere M?glichkeit zeigen, die auch hier auf lima-city funktioniert.
Kannst ja dann einen Link auf den betreffenden Thread hier posten. -
Ja, danke. Ich hab mal geguckt und das hier gefunden. Geht auf Lima.
http://www.lima-city.de/boards.php?m=thread&id=28489&page=0#256300
Ich denke damit ist das Thema dann abgehakt.
Nochmals Danke an alle. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage