2009-08-03 183 views
2

我找不到一個可用的php域可用性函數,它可以檢查域是否可用,然後定義一個$ status變量與可用或不可用,所以我可以將它包含在我的消息中。php域名可用性函數

有關如何做到這一點的任何提示?我曾嘗試過各種本地php功能,如getdnsrr等,但無法讓他們工作。我只需要定義$狀態,可用或不可用。

感謝您的幫助。

+0

你所說的 「可用」 的意思?你的意思是域指向的計算機已啓動並運行,因此可用於請求?您的意思是否可用,如「沒有人註冊此域名,因此可供購買」?還有別的嗎? – GordonM 2016-03-11 12:18:44

回答

5

谷歌結果

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

返回所花費的ping服務器的時間。
http://www.tutcity.com/view/check-your-server-status-a-basic-ping.10248.html


檢查,如果一個域名繳費:

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

不錯的提示,但我需要確定域名是否註冊 – mrpatg 2009-08-03 02:51:05