gethostbyaddr()

1. 定义

该函数通过指定IP地址返回其对应的主机名。 失败则原样输出,如果输入的格式不正常则返回FALSE。

注:该函数无法解析IPv6地址。

2. 语法

gethostbyaddr ( string $ip_address ) : string

3. 参数说明

参数 可选性 数据类型 描述
$ip_address 必需 字符串 IP地址,例如127.0.0.1

4. 示例

<?php

// gethostbyaddr()
// 通过指定IP地址返回其对应的主机名
// $_SERVER['REMOTE_ADDR'] 常量指代本机IP,只能在服务器环境下运行(不能在命令行运行)

$ips = explode(',', $_SERVER['REMOTE_ADDR']);// $_SERVER['REMOTE_ADDR'] 常量可能输出不止一个IP,故这里将其分开。
$hostname = gethostbyaddr($ips[0]);
echo $hostname,'<br>';// 输出:1ZGTTD4A1NFVTSN(这是笔者的本地计算机的名称,可以在“计算机属性”中看到)

$ip = '122.224.186.156';
$hostname = gethostbyaddr($ip);
echo $hostname,'<br>';// 输出:122.224.186.156

$ip = $_SERVER['REMOTE_ADDR'] ?? '127.0.0.1';
$ip = '127.0.0.1';
$hostname = gethostbyaddr($ip);
echo $hostname,'<br>';// 输出:1ZGTTD4A1NFVTSN(这是笔者的本地计算机的名称,可以在“计算机属性”中看到)

5. 延展阅读

  • gethostbyname():通过指定的主机名,返回其对应的IPv4地址
  • gethostbynamel():通过指定的主机名,获取其对应的IPv4地址列表