Avatar billede brian.nielsen Nybegynder
30. marts 2003 - 21:34 Der er 17 kommentarer og
1 løsning

Timeout i script ..

Hey.
Er det muligt at lave en slags timeout i dette script?

<?php
$hostip = "80.161.22.114";
$conn_id = ftp_connect($hostip);
if ($conn_id) {
echo 'Jeps';
} else{
echo 'No';
}
?>

Jeg skal nemlig bruge det til en download sektion, men når scriptet tjekker om ftp'en køre, tager det laaang tid fordi min firewall stopper det hele (hvis ftp'en ikke køre)
Så ville det jo være meget smart at lave en timeout på f.eks. 5 sekunder. Nogen der kan hjælpe?
Avatar billede erikjacobsen Ekspert
30. marts 2003 - 21:44 #1
Jah, har du læst dokumentationene: www.php.net/ftp_connect ?
Avatar billede brian.nielsen Nybegynder
30. marts 2003 - 21:49 #2
Ja men jeg har aldrig fattet det de skriver.. Det her virker ikke:
<?php
$hostip = "80.161.22.114";
$conn_id = ftp_connect($hostip,0,5);
if ($conn_id) {
echo 'Jeps';
} else{
echo 'No';
}
?>
Avatar billede erikjacobsen Ekspert
30. marts 2003 - 21:56 #3
Din stump kode virker fint hos mig. Den giver en hurtig
timeout på det ip-nummer du skriver. Timeout parameteren virker
kun fra PHP 4.2.0
Avatar billede schaefner Juniormester
30. marts 2003 - 21:57 #4
<?php
$hostip = "80.161.22.114";
if ($conn_id = @ftp_connect($hostip,0,5)) {
    echo "Jeps";
} else{
    echo "No";
}
?>

Den virker fint her.
Avatar billede brian.nielsen Nybegynder
30. marts 2003 - 22:00 #5
Så det kan ikke bruges med 4.1.2 ... det var jo ikke godt
Avatar billede erikjacobsen Ekspert
30. marts 2003 - 22:04 #6
Man kan opgradere ... :)
Avatar billede schaefner Juniormester
30. marts 2003 - 22:07 #7
Du kan eventuelt "pinge" en fil på serveren:

<?php
if($fp = @fopen("fil.html","r")){
  echo "<font color=\"darkgreen\">Online</font><br>";
  fclose($fp);
} else {
  echo "<font color=\"red\">Offline</font><br>";
}
?>
Avatar billede brian.nielsen Nybegynder
30. marts 2003 - 22:12 #8
ftp'en er min egen - alt det andet ligger på et webhotel
Avatar billede schaefner Juniormester
30. marts 2003 - 22:15 #9
prøv og se om du kan pinge en fil på ftp'en
Avatar billede erikjacobsen Ekspert
30. marts 2003 - 22:18 #10
Tjah - så meget for det webhotel. Find et nyt!
Avatar billede andy Nybegynder
30. marts 2003 - 22:18 #11
Avatar billede schaefner Juniormester
30. marts 2003 - 22:19 #12
De burde egentlig køre den nyeste. PHP er gratis, så det er vel ikke formeget at forlange :o)
Avatar billede ion Nybegynder
30. marts 2003 - 23:44 #13
schaefner: Ja, men de folk, der skal foretage opgraderingen, skal jo have løn. Det er dog ingen undskyldning for ikke at opgradere. Mange webhoteller er bagud, også mit eget (struer.net). De kører 4.1 så vidt jeg husker. Dem vil jeg på ingen måde anbefale.
Avatar billede francodavid Nybegynder
31. marts 2003 - 03:51 #14
Har denne lille funktion jeg har lavet:

function CheckService($port, $server, $timeout) {
    $ch = @fsockopen($server, $port, $errno, $errstr, $timeout);
    if ($ch) {
        $status[0] = true;
        $status[1] = "OK";
        @fclose($ch);
    }
    else {
        $status[0] = false;
        $status[1] = $errstr;
    }
return $status;
}

Kalde den således:

$Status = CheckService("21", "127.0.0.1", "5");
if ($Status[0]) {
echo "Kører: $Status[1]";
}
else {
echo "Kører ikke: $Status[1]";
}
Avatar billede brian.nielsen Nybegynder
31. marts 2003 - 07:21 #15
Søreme lækkert når tdc's adsl går ned hele tiden ...
Jeg tester lige!
Avatar billede brian.nielsen Nybegynder
31. marts 2003 - 07:35 #16
Jeg takker for hjælpen
Avatar billede andy Nybegynder
31. marts 2003 - 17:56 #17
Nemt tjente point der franco.
Avatar billede francodavid Nybegynder
31. marts 2003 - 22:50 #18
Hvis de var så nemme hvorfor tog du dem så ikke bare, ved at lave funktionen?
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