MySQL-Hyperlinks automatisch anwählen lassen?

soilant

Grünschnabel
Bald sind in meiner MySQL-Datenbank tausende Hyperlinks aufgelistet. ???:rolleyes: Weiss jemand einen PHP- oder Perl- bzw. DBI- Code um alle diese der Reihe nach automatisch anzuwählen und anschliessend jene zu melden, die nicht mehr existieren (bzw. bei denen der Server down ist)
 
du kannst dir mit php ein script basteln, das nach und nach alle links mit fopen öffnet und bei misserfolg einem statusfeld von deinem datensatz einen passenden vermerk verpasst. wahrscheinlich musst du dazu noch mit header-weiterleitungen arbeiten, da dein script sonst schnell die erlaubte laufzeit übersteigt.

beispiel (ohne weiterleitung)

PHP:
$sql = "SELECT id,url,status FROM tabelle";
$rs  = mysql_query($rs);

while ($ds=mysql_fetch_assoc($rs))
   {
   if ($f=fopen($ds['url'],"r"))
      {
      mysql_query("UPDATE tabelle SET status='dead' WHERE id = ".$ds['id']);
      echo $ds['id']." -> ".$ds['url']."<br>";
      fclose($f);
      }
}
genauere infos zur fopen funktion gibts hier:
http://www.php3.de/manual/en/function.fopen.php

ich hab das script jetzt zwar nicht getestet, aber generell müsste es funktionieren. so ging's zumindest früher noch. ;) ich hoffe es hilft dir!

greetz
SQiShER
 
Vielen Dank, SQiShER.
Ich hab es mittlerweile auf die primitive, banale Art gemacht:
Bei mir daheim am heimischen PC habe ich die Links im InternetExplorer als "Favoriten" gespeichert. Die Datei "Favoriten" kann ich nach Belieben auswählen.
Nun durchsucht das winzige Shareware-Programm "Big Brother" (für Mac) bei mir daheim ganz fleissig alle Links, die ich als "Favoriten" definiere und meldet mir die faulen.
Anschliessend aktualisiere ich die Datenbank. Fertig.
Auch nicht übel, was? :)
 
Zurück