jollyjumper83
Goto Top

ftp connect Zeitproblematik

Zeitintervall viel zu hoch

Hallo liebe It-Gemeinde,

habe ein kleines Problem. Ich haabe auf meiner Website einen FTP Verfügbarkeitscheck eingerichtet, der auch soweit funktioniert. Je nach Status zeigt dieses Skripte mit Hilfe einer roten oder grünen LED-gif den aktuellen Zustand unseres FTP Servers an. Jetzt habe ich nur das Problem wenn der Server nicht verfügbar ist und somit die ftp connect ein FALSE sendet der Intervall bis er das FALSE sendet über 90 Sekunden dauert. Jetzt hatte ich schon versucht einfach das Skripte via "set time limit(5)" auf 5 Sekunden zu beschränken, doch es reagiert gar nicht darauf. Gibt es irgendwie eine Möglichkeit den Verbindungsversuch zeitlich zu beschränken?

Hier das simple Skripte als Beispiel:

<?php
set_time_limit(4);
$ein= '<div id="apDiv2"></div>';
$aus= '<div id="apDiv1"></div>';
$conn_ftp = ftp_connect("---.------.tv",21);
if($conn_ftp == "1")
{
echo $ein;
}
else
{
echo $aus;
} ?>


Mit besten Danke

Content-Key: 106559

Url: https://administrator.de/contentid/106559

Printed on: April 26, 2024 at 16:04 o'clock

Member: nxclass
nxclass Jan 20, 2009 at 13:18:04 (UTC)
Goto Top
benutze fsockopen() - da kannst du ein timeout angeben.

http://de.php.net/fsockopen
Member: nilius
nilius Jan 22, 2009 at 07:54:51 (UTC)
Goto Top
vll must du sie wieder schliessen mit ftp_quit(), nur eine idee
Member: JollyJumper83
JollyJumper83 Jan 26, 2009 at 08:58:10 (UTC)
Goto Top
Hallo, so hat leider ein wenig gedauert. Habe beide Tipps mal ausprobiert. Die Variante das ich wie "nilius" geschrieben hat, dass ich die FTP Verbindung wieder schließen soll hat nicht funktioniert. Ist eigentlich auch logisch, denn damit die Verbindung wieder geschlossen werden kann muss ja ersteinmal der erste Programmzeig erfolgreich durchlaufen werden in dem die Verbindung aufgebaut wird. Ist mir nach einer PHP Ablaufanzeige aufgefallen. Das hat also leider nicht funktioniert.
Die erste Variante mit fsockopen(), ist dagegen genau das was ich gesucht hatte funktioniert super, durch das einstellen der Timeout auf 1 Sekunde habe ich genau den Erfolg den ich haben wollte.
Super danke für den Tipp. Damit ist mein Problem wieder einmal gelöst.

MfG Simon