【问题标题】:Saving a target URL's IP address as a variable string将目标 URL 的 IP 地址保存为变量字符串
【发布时间】:2013-07-25 19:19:03
【问题描述】:

我想将 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

【问题讨论】:

  • 你不知道怎么办$match[1][0]
  • 谢谢。它已成功输出: string(13) "64.15.112.109" 但实际上我只想将文本保存为引号之间的变量。
  • 把它赋值给一个变量。其他的只是var_dump() 显示细节的方式。
  • 您真的需要 ping 站点,还是只是因为您不知道任何其他获取 IP 的方式(如答案中的解决方案)而这样做?
  • 这就是我想做的。我需要知道如何忽略引号之外的所有内容(包括引号!)并且只将 IP 保存为变量。

标签: php arrays search ip ping


【解决方案1】:

有一个名为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

【讨论】:

  • 效果很好。 2 行与我非常业余、越野车和实际上冗长的 4 行相比非常棒!
  • 很高兴能帮上忙。还要检查函数的完整输出(没有第二个参数)。它让你微笑;)
  • ooooOOOOooo 我知道你在那里做了什么!您存储了名为“ip”的结果中的文本 oooo 现在我可以将其保存为变量 woohoo 您的传奇。再次感谢 ;)
  • 是的,只需阅读一点关于数组的内容,一切都会水到渠成;)。如果这个答案对你有帮助,你能接受它作为“接受”的答案吗:)?
【解决方案2】:

就用这个吧:

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

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

希望对你有帮助。

【讨论】:

    【解决方案3】:

    这是我在 Benz 的帮助下完成的编码;)

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

    将文本输出到 $ip 变量。

    【讨论】:

      猜你喜欢
      • 2018-02-13
      • 1970-01-01
      • 2021-03-01
      • 1970-01-01
      • 2020-10-22
      • 2012-07-14
      • 2018-07-25
      • 1970-01-01
      • 2021-10-15
      相关资源
      最近更新 更多