Mit PHP prüfen ob eine Seite erreichbar ist

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mit PHP prüfen ob eine Seite erreichbar ist

    Kann man mit PHP urls automatisch auf erreichbarkeit prüfen?

  • #2
    ja
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      -> Suche


      An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

      Kommentar


      • #4
        Per fsockopen deine gewuenschte URL auf dem entsprechenden Port aufrufen?

        Kommentar


        • #5
          Also ich hba hier jetzt son teil gefunden, aber funktionieren tut da gar nix, ich bekomm nicht mal ne fehlermeldng als ausgabe.

          PHP-Code:
          <html>
          <head>
          <title>Test</title>
          </head>
          <body>
          <?php
          function phpLinkCheck($url$r FALSE)
          {
            
          /*  Purpose: Check HTTP Links
             *  Usage:   $var = phpLinkCheck(absoluteURI)
             *           $var["Status-Code"] will return the HTTP status code
             *           (e.g. 200 or 404). In case of a 3xx code (redirection)
             *           $var["Location-Status-Code"] will contain the status
             *           code of the new loaction.
             *           See print_r($var) for the complete result
             *
             *  Author:  Johannes Froemter <j-f@gmx.net>
             *  Date:    2001-04-14
             *  Version: 0.1 (currently requires PHP4)
             */

            
          $url trim($url);
            if (!
          preg_match("=://="$url)) $url "http://$url";
            
          $url parse_url($url);
            if (
          strtolower($url["scheme"]) != "http") return FALSE;

            if (!isset(
          $url["port"])) $url["port"] = 80;
            if (!isset(
          $url["path"])) $url["path"] = "/";

            
          $fp fsockopen($url["host"], $url["port"], &$errno, &$errstr30);

            if (!
          $fp) return FALSE;
            else
            {
              
          $head "";
              
          $httpRequest "HEAD "$url["path"] ." HTTP/1.1\r\n"
                            
          ."Host: "$url["host"] ."\r\n"
                            
          ."Connection: close\r\n\r\n";
              
          fputs($fp$httpRequest);
              while(!
          feof($fp)) $head .= fgets($fp1024);
              
          fclose($fp);

              
          preg_match("=^(HTTP/\d+\.\d+) (\d{3}) ([^\r\n]*)="$head$matches);
              
          $http["Status-Line"] = $matches[0];
              
          $http["HTTP-Version"] = $matches[1];
              
          $http["Status-Code"] = $matches[2];
              
          $http["Reason-Phrase"] = $matches[3];

              if (
          $r) return $http["Status-Code"];

              
          $rclass = array("Informational""Success",
                              
          "Redirection""Client Error",
                              
          "Server Error");
              
          $http["Response-Class"] = $rclass[$http["Status-Code"][0] - 1];

              
          preg_match_all("=^(.+): ([^\r\n]*)=m"$head$matchesPREG_SET_ORDER);
              foreach(
          $matches as $line$http[$line[1]] = $line[2];

              if (
          $http["Status-Code"][0] == 3)
                
          $http["Location-Status-Code"] = phpLinkCheck($http["Location"], TRUE);

              return 
          $http;
            }
          }
          phpLinkCheck($url="http://www.php-resource.de")
          ?>
          </body>
          </html>

          Kommentar


          • #6
            Du musst dir auch den Quellcode ansehen, wenn du Sachen nutzt, die nicht von dir stammen. Diese Funktion gibt etwas per return zurueck, das heißt du musst den Funktionsaufruf in einer Variable speichern.

            Aber lies dir lieber ma die PHP-Manual zu fsockopen durch, ist sehr einfach anzuwenden.

            Kommentar

            Lädt...
            X