1
我想做的標題狀態。以ping爲單位的用戶IP並返回ms結果,例如:PHP - 獲取服務器ping一個訪客IP並返回ping毫秒
Ping IP return 400ms。
我不知道如何做到這一點,但我期望它會相對簡單。我可以訪問exec()函數和類似於它的函數,因爲我將在虛擬專用服務器上運行此腳本。
在此先感謝。
我想做的標題狀態。以ping爲單位的用戶IP並返回ms結果,例如:PHP - 獲取服務器ping一個訪客IP並返回ping毫秒
Ping IP return 400ms。
我不知道如何做到這一點,但我期望它會相對簡單。我可以訪問exec()函數和類似於它的函數,因爲我將在虛擬專用服務器上運行此腳本。
在此先感謝。
試試這個
<?php
$out = array();
exec('ping -c 4 '.$_SERVER['REMOTE_ADDR'], $out);
print_r($out);
?>
試試這個:
<?php
$ip = $_SERVER['SERVER_ADDR']; // Get the IP address of the visitor
$result = system('ping -n 1 '.$ip, $retval); // the result contains the last line of the ping command.
if ($retval==0) echo "OK";
if ($retval==1) echo "NOT OK";
?>
這似乎是花費很長的時間來加載。 –
儘管我已經將它包裝在一個函數調用中,但它似乎可以工作。如果用戶通過代理進行瀏覽,則可能會得到錯誤的地址,但如果有必要,這是一個相當簡單的添加 - 我遵循YAGNI。 –
@ h_12 - 如果你希望它是異步的,爲了不阻止頁面加載,那麼我建議在頁面加載後調用Ajax腳本;否則,你一直有可能會變得緩慢。 –