好吧,很簡單的問題。所以這對你來說是個好消息,我想。是否可以使用PHP將域名解析爲IP地址?
更透徹的解釋:
我有一個PHP腳本,讓我的網址添加到數據庫。我希望腳本將URL解析爲IP地址,以便將其存儲。然而,一些URL的是這樣的:
http://111.111.111.111/~example/index.php
所以還需要與合作。
我不是確實這是可能的,但它只是有道理的。
所以:是否有可能,如果有,如何?
好吧,很簡單的問題。所以這對你來說是個好消息,我想。是否可以使用PHP將域名解析爲IP地址?
更透徹的解釋:
我有一個PHP腳本,讓我的網址添加到數據庫。我希望腳本將URL解析爲IP地址,以便將其存儲。然而,一些URL的是這樣的:
http://111.111.111.111/~example/index.php
所以還需要與合作。
我不是確實這是可能的,但它只是有道理的。
所以:是否有可能,如果有,如何?
echo gethostbyname('stackoverflow.com'); // 69.59.196.211
您可以使用parse_url抓住從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
)
*/
謝謝,這有助於很多。特別是parse_url() – Rob 2010-05-04 13:10:42
不客氣。很高興我能幫上忙。 – webbiedave 2010-05-04 14:25:50
是,gethostbyname
gethostbynamel() - 獲取對應於給定的Internet主機名的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>';
獲取主機出URL,你可以用這一個班輪:
// 111.111.111.111
echo parse_url('http://111.111.111.111/~example/index.php', PHP_URL_HOST);
爲什麼downvote? – 2010-05-04 00:20:42
Yust一個評論。普通網址無法使用IP地址。例如,如果你嘗試輸入我的服務器的IP地址,它會給你一個404,因爲你有錯誤的'hostname'-hreader。只是覺得我讓你知道... – Alxandr 2010-05-03 23:08:54
我不明白你的意思。你是說'http:// 111.111.111.111 /〜example/example.php'不行嗎? – Rob 2010-05-04 12:35:16