是否可以使用PHP将域名解析为IP地址?

时间:2010-05-03 23:05:50

标签: php

嗯,非常简单的问题。所以这对你来说是个好消息,我想。

更详尽的解释:

我有一个PHP脚本,允许我将URL添加到数据库中。我希望脚本也将URL解析为IP地址,以便存储它。但是,有些网址是这样的:

http://111.111.111.111/~example/index.php

所以它也需要与之合作。

我不是确定这是可能的,但它只会有意义。

所以:是否可能,如果可能,怎么样?

4 个答案:

答案 0 :(得分:2)

gethostbyname

echo gethostbyname('stackoverflow.com'); // 69.59.196.211

您可以使用parse_url从网址抓取主机:

$urlParts = parse_url('http://111.111.111.111/~example/index.php'); 

print_r($urlParts);

/*
Array
(
    [scheme] => http
    [host] => 111.111.111.111
    [path] => /~example/index.php
)
*/

答案 1 :(得分:1)

gethostbyname()

$ip = gethostbyname('www.example.com');

请注意,如果网站位于共享托管服务器上,则无法保证您的链接仍然有效。

答案 2 :(得分:1)

gethostbynamel() - 获取与给定互联网主机名相对应的 IPv4地址列表


<强>用法:

$ips = gethostbynamel('stackoverflow.com');

/*
Array
(
    [0] => 69.59.196.211
)
*/
echo '<pre>';
print_r($ips);
echo '</pre>';

$ips = gethostbynamel('google.com');

/*
Array
(
    [0] => 74.125.39.105
    [1] => 74.125.39.106
    [2] => 74.125.39.147
    [3] => 74.125.39.99
    [4] => 74.125.39.103
    [5] => 74.125.39.104
)
*/
echo '<pre>';
print_r($ips);
echo '</pre>';

要让主机脱离网址,您可以使用以下内容:

// 111.111.111.111
echo parse_url('http://111.111.111.111/~example/index.php', PHP_URL_HOST);

答案 3 :(得分:0)