PHP: Wie kann ich überprüfen ob ein link aktiv ist?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Advanced-Rookie
Mitglied
Beiträge: 124
Registriert: 04.10.2002 15:02
Kontaktdaten:

PHP: Wie kann ich überprüfen ob ein link aktiv ist?

Beitrag von Advanced-Rookie »

Ich möchte herausfinden welche meiner links in der datenbank tot sind und diese dann löschen, wie überprüfe ich ob ein link tot ist?
Danke
Benutzeravatar
biototo
Mitglied
Beiträge: 803
Registriert: 10.04.2002 09:51
Wohnort: Düren - Rheinland (zw Köln u. Aachen)
Kontaktdaten:

Beitrag von biototo »

Indem du mit dieser Funktion aus PHP http://www.php.net/manual/de/function.fsockopen.php ein Verbindungsaufbau versuchst , wenn der funktioniert ist der Link noch OK, wenn nciht dann ist der Server down oder der Link existiert nciht mehr .... ich würde die dann nciht löschen soindern als offline anziegen und nur dann löschen, wenn das länger offline ist. Dadurch kannste verhindern, das deine Linkliste sich sehr schnell verkleinert und das nur weil irgendwer Wartungarbeiten am Server macht und der dadurch nicht zu erreichen ist ...
Advanced-Rookie
Mitglied
Beiträge: 124
Registriert: 04.10.2002 15:02
Kontaktdaten:

Beitrag von Advanced-Rookie »

schon klar, das hab ich mir schon alles überlegt, brauchte nur die funktion
Thx ;)
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
Condor
Mitglied
Beiträge: 221
Registriert: 27.02.2002 01:00
Wohnort: Ahlen

Beitrag von Condor »

Ich weiss ob du sowas suchst, aber hier ist was, was ich mir mal selbst gebastelt habe:

Code: Alles auswählen

<?php
if  ($argv[0] == "name=linkprobe&action=check"):

$link = "http://".$T1;
echo "Checking: $link<br><br>\n"; flush();

$fp = @fopen($link, "r");
if (!$fp)
 {
  echo '<p><font color="#FF3300">Der Link existiert nicht !</font></p>';
 }
else
{
    fclose($fp);
    echo 'Der Link ist <font color="#00CC00">OK !</font>';
}
else:
echo "<form method='POST' action='$PHP_SELF?name=linkprobe&action=check'>";
echo "<p>Bitte tragen Sie hier die zu prüfende Adresse (ohne http://) :&nbsp; <input type='text' name='T1' size='20'><input type='submit' value='OK' name='B1'></p>";
echo "</form>";
endif;
?>
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

@Condor.

Ich weiß nicht genau, aber ich glaube nicht, dass es ausreicht was Du prüfst. Muss man nicht die versch. Statusmeldungen abwarten? Wie z.B. "404" "403" etc...


Ciao S.
Antworten

Zurück zu „Coding & Technik“