tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
298
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von vsitor
    vsitor vsitor ist offline Mitglied Brokat
    Registriert seit
    Oct 2001
    Ort
    lyra
    Beiträge
    347
    Hallo,

    ich möchte einen Linkchecker realisieren, weiß nicht ganz wie man anfangen könnte.

    Es ist zu anstrengend, bei 300 Seiten dauernd manuell zu prüfen ob die den Link zu mir entfernt haben oder nicht.
    Am besten eine kleine < FORM >, in dem ich in ein Textfeld zuerst die Seiten eintrage von denen der Link zu mir kommt und diese dann in SQL speicher.

    Dann einfach einen OK Button und gut ist.
    Ich hatte mal ein free-script, aber das hat nur die Hauptdomain durchsucht, und nicht www.deineseite.de/links.htm

    hat einer von euch eine Idee oder vielleicht fällt euch ein Script ein das man nutzen kann.
    Danke
     
    each one teach one

  2. #2
    venyl venyl ist offline Mitglied Silber
    Registriert seit
    Jul 2006
    Beiträge
    71
    jez heisst meine datei vllt auch affiliates.php was dann los?
     
    ich rage heraus und gehe in die tiefe.....wenn ich PHP kann :P

  3. #3
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.806
    Blog-Einträge
    5
    Hallo,

    eine SQL-Datenbank ist hier nicht unbedingt nötig. Eine Textdatei mit einer URL pro Zeile tut's auch – die kann man bei Bedarf dann auch ganz einfach in eine textarea laden und so bearbeiten. Da spart man sich schon einiges an Aufwand für die Administration, welche ja vermutlich sowieso nur für dich selbst gedacht ist.

    Das überprüfen der jeweiligen Seiten könnte dann so ablaufen:

    Für jede Zeile in der Textdatei…
    • Webseite holen (z.B. über file_get_contents(), CURL…)
    • Quelltext nach dem entsprechenden Link durchsuchen (z.B. mit strpos())
    • Wenn der Link nicht gefunden wurde, Meldung ausgeben

    Wenn du Hilfe zu den einzelnen Schritten brauchst, kannst du ja nochmals genauer nachfragen.

    Grüße,
    Matthias
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  4. #4
    yan1 yan1 ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Ort
    Kirchdorf a. d. Krems, OÖ
    Beiträge
    213
    Du willst schauen, ob bei einer bestimmten Seite ein bestimmter Link vorhanden ist?

    Mir fällt jetzt nichts besseres ein, aber verbinde dich doch einfach mit dem Server per fsockopen(), schick ihm eine Anfrage (zB du willst checken, ob auf der links.htm der Link ist) , die anfrage könnte so ausschauen:

    PHP-Code:
    $anfrage "GET /links.htm HTTP/1.1\n".
                    
    "HOST: www.foo.org\n".
                    
    "\n"
    dann bekommst du eine Antwort vom Server zurück, die so ausschaut:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    HTTP/1.x 200 OK
    blub
    bla
    foo
     
    <html>
    <head>
    </head>
    <body>
    blub
    bla
    foo
    <!-- Dein Link -->
    <a href="www.deine-seite.at">Die Seite vom Sepp</a>
    blub
    </body>
    </html>

    Und diese Antwort die du per Socket Stream zurück bekommst, kannst du dann mit Regular Expressions auswerten und schauen, ob dein Link vorkommt

    lg, Yanick

    //EDIT: Ja die Lösung mit file_get_contents() is warscheinlich noch besser, kannte die Funktion nich
    Geändert von yan1 (12.07.06 um 22:08 Uhr)
     

  5. #5
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    file_get_contents() duerfte aber auch nur dann funktionieren wenn, das allseits unbeliebte, allow_url_fopen auf on gesetzt ist.
    Dementsprechend empfehle ich hier auf jeden Fall den Weg ueber fsockopen().
    Dort kriegt man dann auch wenigstens den genauen Status-Code zurueck. Es kann ja auch sein das man per Code 302 weitergeleitet wird. Dann gibt es zwar keinen Inhalt, aber der Link funktioniert trotzdem, ausser die Seite zu der weitergeleitet wird hat wiederum ein Problem.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

Ähnliche Themen

  1. Checken ob ein Div vorhanden ist
    Von Kipaboy im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 08.01.08, 19:24
  2. Externen Link auf Inhalten checken
    Von mayooo im Forum PHP
    Antworten: 5
    Letzter Beitrag: 26.09.06, 12:36
  3. SWF Version checken?
    Von Kopfballstar im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 04.02.06, 12:04
  4. IP checken
    Von mausilein-gvm im Forum HTML & XHTML
    Antworten: 5
    Letzter Beitrag: 07.01.05, 08:24
  5. icq uin checken
    Von Paber im Forum PHP
    Antworten: 3
    Letzter Beitrag: 22.12.03, 20:48