Henryk Plötz: Mit Ping eine Domain auf Existenz überprüfen?

Beitrag lesen

Moin,

hmmm wohl doch net: ("Host: server", da $host bei mir nicht funktionierte)

Doch, der Host:-Header sollte immer den Namen des Hosts enthalten den du ansprechen willst. Wenn du nämlich auf virtual hosts triffst (also mehrere Hostnamen hinter einer IP-Addresse, extrem verbreitet heutzutage) entscheidet der Server aufgrund dieses Hostnamens welchen host du meinst. Selbstverfreilich musst du den Namen der Variable die den Hostnamen enthält für $host einsetzen.

fputs($fid,'HEAD '.$fpath." HTTP/1.1\015\012Connection: close\015\012Host: fmo-server\015\012\015\012");

Hinweis für später: Wenn du dich mal entscheiden solltest auf diese Weise den Inhalt der Seite holen zu wollen, möchtest du wirklich 1.0 statt 1.1 senden, sonst musst du Transfer-Encoding: Chunked verstehen können.

$dummy += fgets ($fid,128);

Strings verbindet man in PHP mit einem ., ich bin verwundert dass er dir diese Zeile nicht um die Ohren gehauen hat. Wahrscheinlich hat er kurzerhand deinen String nach Integer konvertiert, da du ihn ja darum gebeten hast zwei Zahlen zu addieren.

if($dummy) { return 1; }

An dieser Stelle solltest du den Status-Code der Antwort prüfen. 200 bedeutet alles OK, 404 Datei nicht gefunden usw. Findest du im bereits verlinkten RFC.

Weitere Beispiele wie man HTTP 'zu Fuß' mit PHP macht finden sich übrigens im Archiv und in den Userkommentaren der Doku auf php.net.

--
Henryk Plötz
Grüße aus Berlin