phpbar.de logo

Mailinglisten-Archive

[php] url-validierung

[php] url-validierung

Kai Meder kaimeder_(at)_gmx.de
Tue, 7 Nov 2000 23:01:19 +0100


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