[PHP] URL überprüfen - online oder nicht

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
blueflidge
Beiträge: 1414
Registriert: 31.01.2005 10:16:49
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: bei Bonn

[PHP] URL überprüfen - online oder nicht

Beitrag von blueflidge » 07.03.2008 07:54:50

Hallo Forum,
ich brauche mal wieder eure Hilfe.
Ich habe ein kleines Script, welches überprüft, ob eine Seite online ist oder nicht. Jetzt möchte ich das Script so abändern, dass es nach einer bestimmten Zeit bereits ausgibt, dass die Seite nicht erreichbar ist (z.B. 10 Sekunden) und nicht ewig lang rumackert und versucht den Server zu kontaktieren.
Desweiteren sollten sich auch mehrere Ports überprüfen lassen.

Hier mein Script:

Code: Alles auswählen

<?php
function urlfind($link){
    if($link) {
        $file = @fopen ($link, "r");
    }
    if($file){
        return true;
        fclose($file);
    } else {
        return false;
    }
}

$link = "http://mein toller Link zum Homeserver";
if(urlfind($link)){
    echo "Homewebserver ONLINE";
} else {
    echo "Homewebserver OFFLINE";
}
?>
Hat jemand eine Idee, wie ich das abändern kann?
Beste Grüße
Tamara
The Debian Women Project

Benutzeravatar
ckoepp
Beiträge: 1409
Registriert: 11.06.2005 20:11:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nähe Heidelberg

Beitrag von ckoepp » 07.03.2008 09:37:36

Timeout: http://de2.php.net/manual/en/function.s ... imeout.php

Ports musst du ebefalls manuell per fsockopen() eingeben. So ist das in PHP...

Aber ich hoffe du weisst was du tust - ein schlichter einfacherer Verbindungsversuch (ohne HTTP) würde ausreichen und dein Script sicherer machen. Fremde URL in PHP zu nutzen ist immer mehr als kritisch...(siehe buglist)
"Es gibt kein Problem, das man nicht mit einem doppelten Scotch lösen könnte!"
Ernest Hemingway

Benutzeravatar
blueflidge
Beiträge: 1414
Registriert: 31.01.2005 10:16:49
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: bei Bonn

Beitrag von blueflidge » 07.03.2008 09:56:59

Hallo ckoepp,

das Script soll auf meiner Webseite einfach nur anzeigen, ob mein Homeserver online ist oder nicht.
Eine andere Idee ist mir bisher noch nicht eingefallen, um das überprüfen zu lassen.

Danke für den Link für die Timeout-Funktion, werde ich mal versuchen.
Beste Grüße
Tamara
The Debian Women Project

Cologne4711
Beiträge: 260
Registriert: 04.12.2006 11:37:59

Beitrag von Cologne4711 » 07.03.2008 10:43:44

Hallo,

wenn es nur um den Apache geht, könntest Du doch versuchen, ein File mit wget vom Server herunterzuladen.

MfG

Antworten