Mailinglisten-Archive |
nabend ML ich habe eine kleine funktion geschrieben um zu testen ob eine url auch wirklich existiert... --- snip --- function check_url() { $parsed_url = parse_url($this->string); $host = $parsed_url[host]; $path = $parsed_url[path]; $connection = _(at)_fsockopen($host , 80); if ($connection) { if ($path != "" && $path != "/") { fputs($connection , "GET $path HTTP/1.0\n\n"); $http_result = trim(fgets($connection , 128)); if (strstr($http_result , "200")) $result = true; else if (strstr($http_result , "302")) $result = true; else { $result = false; $this->error = "connection to host succeeded but the path was not found. server returned: '$http_result'"; } fclose($connection); } else $result = true; } else { $result = false; $this->error = "connection to host failed"; } return $result; } --- snap --- das problem das ich nun habe ist folgendes: - manche server wie microsoft.com liefern mir eine 404er zurück, OBWOHL das dokument exisitert... - andere server hingegen wie onlinekosten.de liefern eine 200er OBWOHL das dokoument NICHT existiert weil die diese 404er-error-tracking aktiviert haben... mein link-validierer von homesite erkennt, dass die microsoft.com-url stimmt, doch scheitert auch dieser an dem onlinekosten.de server.. meine frage ist nun, wie ich _wenigstens_ hinbekomme einen richtigen http-status von servern wie microsoft.com zu bekommen, denn ein false return kann die ganze daten-verarbeitung des script unterbrechen... wenn dokumente wie onlinekosten.de zugelassen werden, ist mir dies eigentlich schnurz-piepe.... wäre auch hocherfreut, wenn einer meine funktion verbessern kann vielen dank im voraus kai -- E-Mail: kaimeder_(at)_gmx.de or abraXXXas_(at)_fraggers.de ICQ: 30408093 Tel: 05241-460046 Mobile: 0179-3681253
php::bar PHP Wiki - Listenarchive