string gethostbyname ( string $hostname ) (PHP 4, PHP 5)

이 함수는 하나의 ip주소로 반환합니다.

예제 (ex #1
 <?php
 
if($ip gethostbyname("yahoo.com"
)) {
    print (
$ip); 
// 출력: 67.195.160.xx
 
}
 
?>


모든 ip주소를 배열로 반환하는 gethostbynamel 함수

array gethostbynamel ( string $hostname ) (PHP 4, PHP 5)

예제 (ex #1
 <?php
 
if($ip gethostbynamel("yahoo.com"
)) {
    
print_r ($ip
);
 }

 
/*
 Array
 (
    [0] => 67.195.160.xx
    [1] => 69.147.125.xx
    [2] => 72.30.2.xx
    [3] => 98.137.149.xx
    [4] => 209.191.122.xx
 )
 */
 
?>
저작자 표시
신고

int getmxrr ( string $hostname , array $mxhosts [, array $ weight ] )

Searches DNS for MX records corresponding to hostname 에 대응이 되는 MX 레코드를 찾기위해 DNS를 찾습니다. 레코드값이 있으면 TRUE를 없으면 FALSE를 반환합니다.

윈도우에서 nslookup.exe에 mx값을 요청했을때 출력입니다. 이를 기초로 함수를 작성할 수 있습니다.


예제 (ex #1

 <?php
 
// 윈도우환경 일때
 
if(strtoupper(substr(PHP_OS03)) === 'WIN'
) {
    function 
getmxrr($host, &$hosts, &$weight=false
) {
       
$hosts 
= array();
       
$weight 
= array();
       
$preference 
= array();
       
$records 
= array();
       
exec('%SystemRoot%\System32\nslookup.exe -q=mx '.escapeshellarg($host), $arr
);
       foreach(
$arr as $line
) {
          if (
preg_match("/.*mail exchanger = (.*)/",
                         
$line$records
)) {
     
$hosts[] = trim($records[1
]);
    }
    if (
preg_match("/.*MX preference = ([0-9]+)/",
                         
$line$preference
)) {
     
$weight[] = trim($preference[1
]);
    }
       }
       return( 
count($hosts) > 
);
   }
 }
 else {
   
getmxrr($host$mxhosts$weight
);
 }

 
/*
    $mxhosts = mail exchanger 값
    $weight = MX preference 값
 */
 
print_r(array($mxhosts,$weight
);

 
/* 결과
 Array
 (
    [0] => Array
        (
            [0] => m.mx.mail.yahoo.com
            [1] => a.mx.mail.yahoo.com
            [2] => b.mx.mail.yahoo.com
            [3] => c.mx.mail.yahoo.com
            [4] => d.mx.mail.yahoo.com
            [5] => e.mx.mail.yahoo.com
            [6] => f.mx.mail.yahoo.com
            [7] => g.mx.mail.yahoo.com
            [8] => h.mx.mail.yahoo.com
            [9] => i.mx.mail.yahoo.com
            [10] => j.mx.mail.yahoo.com
            [11] => k.mx.mail.yahoo.com
            [12] => l.mx.mail.yahoo.com
        )
    [1] => Array
        (
            [0] => 1
            [1] => 1
            [2] => 1
            [3] => 1
            [4] => 1
            [5] => 1
            [6] => 1
            [7] => 1
            [8] => 1
            [9] => 1
            [10] => 1
            [11] => 1
            [12] => 1
        )
 )
 */
 ?>


저작자 표시
신고