コード例 #1
0
 public static function checkMX($host)
 {
     if (empty($host)) {
         return false;
     }
     $host_idna = self::normalizeHost($host);
     if (SystemEnvironment::functionExists('checkdnsrr')) {
         if (checkdnsrr($host_idna, 'MX') === false) {
             return false;
         } else {
             return true;
         }
     } else {
         @exec("nslookup -querytype=MX {$host_idna}", $output);
         while (list($k, $line) = each($output)) {
             # Valid records begin with host name
             if (preg_match("~^(" . preg_quote($host) . "|" . preg_quote($host_idna) . ")~i", $line)) {
                 return true;
             }
         }
         return false;
     }
 }
コード例 #2
0
 public static function toUtf8($string)
 {
     if (SystemEnvironment::functionExists('mb_convert_encoding')) {
         $string = mb_convert_encoding($string, 'UTF-8', Config::get('intl.charset'));
     } else {
         if (SystemEnvironment::functionExists('iconv')) {
             $string = iconv(Config::get('intl.charset'), 'UTF-8', $string);
         } else {
             $string = utf8_encode($string);
         }
     }
     return $string;
 }