亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用PHP ping IP地址并回顯結果

使用PHP ping IP地址并回顯結果

PHP
開滿天機 2019-09-03 17:13:26
我有以下功能,到目前為止我沒有工作。我想ping一個IP地址,然后回顯IP是否存在。function pingAddress($ip){    $pingresult = shell_exec("start /b ping $ip -n 1");    $dead = "Request timed out.";    $deadoralive = strpos($dead, $pingresult);    if ($deadoralive == false){        echo "The IP address, $ip, is dead";    } else {        echo "The IP address, $ip, is alive";    }}當我使用示例調用此函數時:pingAddress("127.0.0.1")回聲結果總是“死” - 無論如何。有人可以在我出錯的地方幫助我嗎?和/或者有更好的方法來做同樣的結果嗎?非常感謝。更新:已修改代碼以包含雙引號但仍獲得相同(不正確)的結果。
查看完整描述

3 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

注意:下面的解決方案在Windows上不起作用。在linux上執行來自控制臺的“哪個ping”命令,并相應地設置命令路徑(建議的exec調用)


我想你要檢查命令的退出狀態,而shell_exec給你完整的輸出(可能是危險的,命令輸出從命令版本更改為版本。出于某種原因)。此外,您的變量$ ip不會在單引號內解釋。你必須使用雙“”。這可能是您需要修復以使其工作的唯一方法。


但我認為以下代碼可以更“便攜”。恕我直言,實際上更好地捕獲退出狀態,而不是嘗試解析結果字符串。恕我直言,最好指定ping命令的完整路徑。


<?php

function pingAddress($ip) {

    $pingresult = exec("/bin/ping -n 3 $ip", $outcome, $status);

    if (0 == $status) {

        $status = "alive";

    } else {

        $status = "dead";

    }

    echo "The IP address, $ip, is  ".$status;

}


pingAddress("127.0.0.1");


查看完整回答
反對 回復 2019-09-03
  • 3 回答
  • 0 關注
  • 1053 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號