Domainexistenz per PHP?

alex_ford100

Grünschnabel
Hy,

ich hoffe ihr könnt mir weiterhelfen und schlagt mich nicht.

Ich suche nach einem PHP Script, welches eine Domain auf Existent prüft und einen benutzerdefinierten Test ausgibt wenn ja oder nein.

Ich habe schon eon Script, nur möchte ich die Domain festeingeben können und immer auswählen müssen.

Danke Euch
Code:
<?php
error_reporting(0);
?> 
<?php
// Function to check response time
function pingDomain($domain){
    $starttime = microtime(true);
    $file      = fsockopen ($domain, 80, $errno, $errstr, 10);
    $stoptime  = microtime(true);
    $status    = 0;

    if (!$file) $status = -1;  // Site is down
    else {
        fclose($file);
        $status = ($stoptime - $starttime) * 1000;
        $status = floor($status);
    }
    return $status;
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<body>
      <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="domain">
        Domain name:
        <table>
          <tr><td><input name="domainname" type="text" ></td></tr>
          <tr><td><input type="submit" name="submitBtn" value="Ping domain"></td></tr>
        </table>  
      </form>
<?php    
    // Check whether the for was submitted
    if (isset($_POST['submitBtn'])){
        $domainbase = (isset($_POST['domainname'])) ? $_POST['domainname'] : '';
        $domainbase = str_replace("http://","",strtolower($domainbase));
        
        echo '<table>';

        $status = pingDomain($domainbase);
        if ($status != -1) echo "<tr><td>http://$domainbase is ALIVE ($status ms)</td><tr>";
        else               echo "<tr><td>http://$domainbase is DOWN</td><tr>";

         echo '</table>';
    }
?>
</body>   </html>

Ich will quasi, nur wissen ob die Domain erreichbar ist oder nicht. (Stichwort: DynDNS erreichbar ja oder nein)
 
Zuletzt bearbeitet:
Moin,...

Übergebe der Funktion den gewünschten Domainnamen als festen Wert...was den Text betrifft, da musst du den Rückgabewert(return) der Funktion entsprechend anpassen:
PHP:
<?php
error_reporting(0);
?> 
<?php
// Function to check response time
function pingDomain($domain){
    $starttime = microtime(true);
    $file      = fsockopen ($domain, 80, $errno, $errstr, 10);
    $stoptime  = microtime(true);
    $status    = 0;

    if (!$file) $status = -1;  // Site is down
    else {
        fclose($file);
        $status = ($stoptime - $starttime) * 1000;
        $status = floor($status);
    }
return '<strong>'.$domain.'</strong> ist '.(($status<0)?'nicht ':''). 'erreichbar';
}
echo '<br>'.pingDomain('www.tutorials.de');
echo '<br>'.pingDomain('www.antwortetnicht.org');
?>
 
Danke @Sven Mintel,

es hat super funktioniert.

@Felix Jacobi

Das nützt mir leider nicht, Denic ist zwar schön und gut, aber ich möcht damit eine Webcam steuern, ob sie angezeigt wird oder nicht, deswegen DynDNS (unter dem Code). Ich habe nämlich öfters das Problem das meine Kamera nicht Ihre Adresse bei DynDNS updatet.

Danke euch allen.
 
Dann entschuldige ich mich, hatte es anders verstanden.

Klick bitte noch auf "Erledigt".
 
Zurück