Hallo, hab mal wieder ein Problem und zwar brauch ich Hilfe bei einer Online Check Funktion. Das Problem ist die Funktion darf immer nur einmal pro Server ausgeführt werden. Habs bisher mit der Funktion gelöst, allerdings war wenn (also beim gleichen Server) 20 mal online angezeigt wurde einmal oder x mal offline angezeigt und dann wieder mehr mals online. Hab keine Ahnung woran das liegen könnte. Könnt ihr euch mal bitte meine Lösung anschauen.
(Ist noch im alten Format und muss updaten, darum will ichs diesmal gleich besser machen)
Aufgerufen wird die Funktion wie folgt:
for Schleife
hol Daten aus DB und überprüf pro Ergebnis ob der Server online ist oder nicht oder ob der Server schonmal geprüft wurde.
$verbunden = onlinecheck($servername);
if ($verbunden == 1)
{... }
if ($verbunden == 0)
{... }
Wäre auch dankbar für ne andere bessere Lösung
Mfg Markus
(Ist noch im alten Format und muss updaten, darum will ichs diesmal gleich besser machen)
PHP-Code:
function onlinecheck($servername)
{
global $servername, $port;
static $hosts;
if (isset($hosts[$servername]))
{
$status = $hosts[$servername];
}
else
{
$verbunden = @ftp_connect($servername, $port);
if ($verbunden)
{
//echo "konnte Verbinden";
$status = 1;
$hosts[$servername] = $status;
}
else
{
//echo "konnte nicht Verbinden";
$status = 0;
$hosts[$servername] = $status;
}
}
return $status;
}
for Schleife
hol Daten aus DB und überprüf pro Ergebnis ob der Server online ist oder nicht oder ob der Server schonmal geprüft wurde.
$verbunden = onlinecheck($servername);
if ($verbunden == 1)
{... }
if ($verbunden == 0)
{... }
Wäre auch dankbar für ne andere bessere Lösung
Mfg Markus
Kommentar