我使用gethostbyname()来获取应用程序中域的IP地址.
在某些情况下,也检查无效地址,如’50 .9.49′.
echo gethostbyname('50.9.49'); // returns 50.9.0.49@H_301_4@在这种情况下,gethostbyname应返回false或未修改的无效IP地址.但是这些函数返回修改后的IP地址50.9.0.49.
PHP的gethostbyname实际上是
uses底层操作系统的gethostbyname的结果,例如来自Linux的netdb.h或Windows的Winsock2.h.它是那些实际产生返回值的函数,而不是PHP.
/* {{{ PHP_gethostbyname */ static char *PHP_gethostbyname(char *name) { struct hostent *hp; struct in_addr in; hp = gethostbyname(name); if (!hp || !*(hp->h_addr_list)) { return estrdup(name); } memcpy(&in.s_addr,*(hp->h_addr_list),sizeof(in.s_addr)); return estrdup(inet_ntoa(in)); } /* }}} */@H_301_4@