List Info

Thread: note 47892 deleted from function.gethostbynamel by bjori




note 47892 deleted from function.gethostbynamel by bjori
user name
2006-09-30 00:12:19
Note Submitter: php at silisoftware dot com 

----

This is a replacement for gethostbynamel(), for *nix only,
which uses the "host" program to lookup hostnames.
Most people won't need this, but I had a temporary server
problem where all the PHP DNS lookup functions were failing,
so this works as a direct replacement:

function SafeGetHostByNameL($hostname) {
	if (false) { // put conditional check here to use normal
gethostbynamel()
		return gethostbynamel($hostname);
	} elseif (ereg('[0-9]{1,3}(.[0-9]{1,3})', $hostname)) {
		return array($hostname);
	} else {
		$response = trim(`host $hostname`);
		if (preg_match_all('/([a-z0-9.-]* is an alias for
([a-z0-9.-]*).['." rn".']+)*[a-z0-9.-]* has
address ([0-9]+.[0-9]+.[0-9]+.[0-9]+)/', trim($response),
$matches, PREG_PATTERN_ORDER)) {
			return $matches[3];
		} elseif (eregi('^Host '.$hostname.' not found',
$response, $matches)) {
			return false;
		}
	}
	return false;
}

-- 
PHP Notes Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub
.php

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )