404 auslesen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 404 auslesen

    Hallo zusammen

    Ich würde gerne Links und Linkbilder auf meiner Seite auf Gültigkeit prüfen. Das heisst wenn die Seite nicht mehr on ist ist es kein Problem mit.
    PHP Code:
    $check = @fsockopen($host80$errno$errstr1); 
    Aber wie gehe ich vor, wenn der Betrieber der fernen Seite das Bild welches auf meiner Seite verlink ist gelöscht wurde und der Link auf einer 404 Seite landet.

    Danke für Eure Tipps

  • #2
    Sende einen ordentlichen GET-Request und werte den Response-Code aus. (Weiterleitungen folgen!)

    Comment


    • #3
      Hilfe das verstehe ich nicht ganz - sorry

      Comment


      • #4
        Du öffnest ein Socket. Bei Timeout ist klar, dass das gesuchte Bild nicht zu bekommen ist. Aber bei Erfolg musst du einen HTTP-GET-Request senden und den Status-Header der Antwort auswerten.

        Ich rate dir allerdings, das alles mit Curl zu machen. Auf PHP: cURL - Manual findest du einige Beispiele dazu.

        Comment


        • #5
          Das geht auch über den fopen-url-wrapper ....
          Der folgt auch Weiterleitungen (bis zu 5?)
          Und GET ist nicht unbedingt nötig, angemessener ist ein HEAD Request.
          Wir werden alle sterben

          Comment


          • #6
            Und wie genau kann ich das mit fopen-url-wrapper erreichen? Mir wäre es auch lieber ohne GET

            Comment


            • #7
              Sending POST and PUT requests, for example, can be done with the help of HTTP Contexts.
              Aus: PHP: HTTP and HTTPS - Manual
              Wir werden alle sterben

              Comment


              • #8
                Ungefähr so:
                PHP Code:
                if (false === @fopen($url'r'falsestream_context_create(array('http'=>array('method'=>"HEAD"))))) {
                    
                // not available
                } else {
                    
                // available

                Comment

                Working...
                X