2013-07-25 30 views
0

我想存储一个IP地址作为一个字符串的变量。保存一个目标URL的IP地址作为一个变量字符串

到目前为止,我已经在PHP创建了一个快速ping命令在这里:

<?php 
    $output = shell_exec('ping -c1 google.co.uk'); 
    if(preg_match_all('/\((.*?)\)/',$output,$match)) { 
    var_dump($match[1]); 
    } 
?> 

此输出以下:

array(3) { [0]=> string(12) "64.15.112.59" [1]=> string(2) "84" [2]=> string(13) "83.125.22.187" } 

在上述PHP命令,我想一些帮助存储第一IP地址(64.15.112.59)。

我不明白这是如何完成的。也许我做的是错误的方式,但我想知道这是否可能:D

+1

你不知道怎么做'$ match [1] [0]'? – Barmar

+0

谢谢你。它已设法输出:字符串(13)“64.15.112.109” 但实际上,我只是想将文本保存为引号之间的变量。 – Echelon

+0

将其分配给一个变量。其他的东西就是'var_dump()'显示细节的方式。 – Barmar

回答

3

有一个名为dns_get_record的php函数可以帮助您从fqdn获取ip。

$ipInfo = dns_get_record('google.co.uk', DNS_A); 

echo $ipInfo[0]['ip']; 

输出这个回波74.125.132.94(从我的位置)

欲了解更多信息,你可以去到PHP的网站:http://php.net/manual/en/function.dns-get-record.php

+0

这工作完美。 2条线对我非常业余,越野车,实际上longwinded 4线是优秀的! – Echelon

+0

我很高兴能帮上忙。还要检查函数的完整输出(没有第二个参数)。它使你微笑;) – Benz

+0

oooOOOOooo我看到你在那里做了什么!你从名为“ip”的结果中存储了文本oooo,现在我可以保存为你的图例的变量woohoo了。再次感谢;) – Echelon

0

只要使用此:

$ip = gethostbyname('google.co.uk'); 

你会得到IP存储在$ip变量。也不需要preg_match,如果函数无法获取IP,您将得到bool false结果。

希望它有帮助。

0

这里是我完成的编码与奔驰帮助;)

$ipInfo = dns_get_record('google.co.uk', DNS_A); 
$ip = $ipInfo[0]['ip']; 

,输出文本到$ IP的变量。

相关问题