2009-08-03 8 views
2

Ich kann nicht finden eine funktionierende PHP-Domain Verfügbarkeit Funktion, die prüfen kann, ob eine Domain verfügbar ist oder nicht, und definieren Sie dann eine $ Status-Variable mit verfügbaren oder nicht verfügbar, so kann ich es in meine Nachricht aufnehmen.php Domain Verfügbarkeit Funktion

Irgendwelche Tipps, wie man das macht? Ich habe verschiedene native PHP-Funktionen wie getdnsrr und andere ausprobiert, kann sie aber nicht zum Laufen bringen. Ich muss einfach $ status definieren, als verfügbar oder nicht verfügbar.

Danke für die Hilfe.

+0

Was meinst du mit "sofort verfügbar"? Meinst du, die Maschine, auf der die Domain-Punkte liegen, läuft und ist daher für Anfragen verfügbar? Meinst du verfügbar wie in "Niemand registriert diese Domain noch, so dass es zum Kauf verfügbar ist"? Etwas anderes? – GordonM

Antwort

5

Google Ergebnis

<?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; 
} 
?> 

Gibt die Zeit, die der Server anpingen nahm.
http://www.tutcity.com/view/check-your-server-status-a-basic-ping.10248.html


zu überprüfen, ob eine Domain verfügbar ist:

<?php 
    function checkDomain($domain,$server,$findText){ 
     // Open a socket connection to the whois server 
     $con = fsockopen($server, 43); 
     if (!$con) return false; 

     // Send the requested doman name 
     fputs($con, $domain."\r\n"); 

     // Read and store the server response 
     $response = ' :'; 
     while(!feof($con)) { 
      $response .= fgets($con,128); 
     } 

     // Close the connection 
     fclose($con); 

     // Check the response stream whether the domain is available 
     if (strpos($response, $findText)){ 
      return true; 
     } 
     else { 
      return false; 
     } 
    } 
?> 

$status = checkDomain("stackoverflow.com",'whois.crsnic.net','No match for'); 
+1

guter Tipp, aber ich muss feststellen, ob die Domain registriert ist oder nicht – mrpatg

+1

Oh, dann eine Sekunde. –

+1

Sie gewinnen 20.000 Internets. Ich wünschte, es wäre ein Umarmungstaste auf SO, denn ich treibe es gerade jetzt. Vielen Dank. – mrpatg