php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
FTP ONLINE TEST


 
markusschmitt
04-04-2003, 23:57 
 
Schreib gerade das auswerte Skript meines Formulars.
Problem ich will noch ein online check option einbauen. Dafür benutz ich ein Checkbox und übergeb die variable an das Skript.
Wenn jetzt die Suche durchgelaufen ist hab ich sagen wir mal von 4 Servern ein Ergebnis bekommen mit jeweils 50 Ergebnissen dann muss ich jetzt doch für jedes Ergebnis prüfen ob der Server online ist. Das heißt für jeden Server muss ich je Ergebnis mit ftp_connect überprüfen ob der Server an ist. Bis ich da von jedem Server 50 mal eine Antwort erhalt dauert des ja ewig deshalb würde ich des gern so machen das das Skript nur einmal pro Server ausgeführt wird. Problem:
Ich kenn jetzt nur eine Funktion mit dem ich angezeigt bekomm wieviel unterschiedliche Server existieren. Bekomm also eine Zahl zurück. Wie bekomm ich aber den Inhalt dieser z.B 4 Servern. Es soll in dem Fall nur 4 mal also für jeden Server ausgeführt werden. Hab mal untere Lösung entwickelt.


//-------------Funktionsbeginn

function onlinecheck($online)
global $servername, $port;
if(!$nureinmal == $servername)
{
$verbunden = @ftp_connect($servername, $port);
$nureinmal = $servername;
if ($verbunden)
{
$online = "";
return $online;
}
}

//-----------Funktionsende
if($onlinecheck)
{
function onlinecheck($servername);
if ($online)
{
....
}
else
{
....
}
}
else
{
//Normaleausgabe ohne onlinecheck
}


Ich kann des jetzt so net überprüfen da ich noch nicht so weit bin mit dem Such Skript. Deshalb wollt ich wissen ob des ne Lösung ist so dann net 200 mal ftp_connect ausgeführt wird und ohne das ich das Komplette Skript am Ende komplett umstellen muss. Deshalb frag ich jetzt schonmal im Vorraus.
Oder wie würdet ihr des machen?

Mfg Markus

 
Abraxax
05-04-2003, 00:04 
 
ich hab das mal aus dem anderen thread abgekapselt, da das nix mehr mit sql zu tun hat, sondern mit php....

hier wirst du besser geholfen... ;)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:51 Uhr.