php獲取局域網ip,php獲取局域網內機器磁盤空間

本文目錄一覽:

PHP如何獲取內網IP

試試$_SERVER[‘REMOTE_ADDR’]如果服務器在外網的話,

那麼訪問的話獲得的是外網的IP,無法獲取內網IP。

希望回答對你有幫助,如果有疑問,請繼續追問

答題不易,互相理解,您的採納是我前進的動力,感謝您。

php實現獲取局域網所有用戶的電腦IP和主機名、及mac地址完整實例

本文所述php實例可以完成獲取局域網所有用戶的電腦IP和主機名、及mac地址的功能,對於php程序設計人員有一定的參考借鑒價值。完整代碼如下:

?php

$bIp

=

gethostbyname($_ENV[‘COMPUTERNAME’]);

//獲取本機的局域網IP

echo

“本機IP:”,$bIp,”\n”;

echo

“本機主機名:”,gethostbyaddr($bIp),”\n\n\n”;

//gethostbyaddr

函數可以根據局域網IP獲取主機名

//默認網關IP

list($ipd1,$ipd2,$ipd3)

=

explode(‘.’,$bIp);

$mask

=

$ipd1

.

“.”

.

$ipd2

.

“.”

.

$ipd3

;

exec(‘arp

-a’,$aIp);

//獲取局域網中的其他IP

foreach(

$aIp

as

$ipv)

{

if(strpos($ipv,’接口’)

!==

false)

{//一下顯示的IP是否是當前局域網中的

而不是其他的類型

可以在cmd下試一下命令

$bool

=

false;

preg_match(‘/(?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))/’,$ipv,$arr);

if(strcmp($arr[0],$bIp)

==

0)

{

$bool

=

true;

}

}

else

{

if($bool)

{

$str

=

preg_replace(‘/\s+/’,

‘|’,

$ipv);

$sArr

=

explode(‘|’,$str);

if($sArr[1]

==

‘Internet’

||

empty($sArr[1]))

{

continue;

}

//去除默認網關

if(strcmp($mask

.

“.1”,

$sArr[1])

==

0)

{

continue;

}

//去除同網關下255的IP

if(strcmp($mask

.

“.255”,

$sArr[1])

==

0)

{

continue;

}

//去除組播IP

list($cIp)

=

explode(‘.’,

$sArr[1]);

if($cIp

=

224

$cIp

=

239)

{

continue;

}

echo

“IP地址:|”,$sArr[1],”|\n”;

echo

“MAC地址:”,$sArr[2],”\n”;

echo

“主機名:”,gethostbyaddr($sArr[1]),”\n”;

echo

“\n\n”;

}

}

}

該程序是在cli模式下運行的,在瀏覽器上應該也可以

php獲取局域網中的用戶ip功能就完成了,主要用到的是php的exec函數

和window的arp

-a

命令

其中獲取本機IP:gethostbyname($_ENV[‘COMPUTERNAME’])

有別於以往的寫法,感興趣的朋友可以繼續深入研究一下。

獲取主機名函數:gethostbyaddr(IPd)

這個函數功能也很強大。

php獲取局域網IP

$ip = $_SERVER[‘REMOTE_ADDR’];只是獲取客戶端所在的IP,但一個IP可以這個是沒辦法獲得的,這個涉及到路由策略,它不可能把內網IP提供給你,它總

php如何獲取局域網內網的IP

這個跟你的路由設置和訪問方式有關。

假設你的服務端在10.10.50.1,公網IP都是8.8.8.8。

假設你的客戶端在 10.10.50.100-199,出口公網IP是4.4.4.4

如果你的客戶端以公網的形式訪問,如,則服務端獲得IP都是4.4.4.4。

反之以內網的形式訪問,如,獲得的IP就是10.10.50.1XX。

解決的辦法,要麼就是使用內網地址訪問,要麼使用設置一下路由,指定10.10.50.100-199訪問的話,不走公網,走10網段。

php怎麼獲取服務器內網ip?

//服務器在局域網的話,那麼顯示的則是內網IP

$onlineip = $_SERVER[‘REMOTE_ADDR’];

echo $onlineip;

php怎麼獲取公網ip和內網ip

$ip=$_SERVER[“REMOTE_ADDR”];

SetCookie(“ip”,”$ip”);

$ip==isset($_COOKIE[‘ip’]);

我這個得到的是外網IP

$ip=$_SERVER[“REMOTE_ADDR”];

if(in_array(strtok($i, ‘.’), array(’10’, ‘127’, ‘168’, ‘192’)))

echo ‘內網’;

內網A類網段只開列了常見的部分,其餘的你自己增減

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/251987.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-13 17:33
下一篇 2024-12-13 17:33

相關推薦

  • 使用boofcv進行圖像處理和機器視覺

    本文將詳細介紹使用boofcv進行圖像處理和機器視覺的方法和實踐。首先,我們將介紹boofcv的概述和安裝方法,然後分別介紹它的圖像處理、相機校準和機器學習功能。 一、概述和安裝 …

    編程 2025-04-28
  • Bandit算法——讓機器學會動態決策

    一、什麼是Bandit算法 Bandit算法是通過不斷嘗試並學習結果來達到最優決策的一種算法。它屬於強化學習的範疇,主要應用於動態決策問題中,例如推薦系統、廣告投放等領域。 以廣告…

    編程 2025-04-24
  • Bootstrap Sampling:一個通用的機器學習方法

    一、Bootstrap Sampling是什麼 Bootstrap Sampling是一種常用的統計學方法,也是機器學習領域裏一個通用的方法。Bootstrap Sampling(…

    編程 2025-04-24
  • 用戶中心:探索機器學習與用戶體驗的結合

    一、用戶信息管理 1、在用戶中心,用戶信息管理是重中之重。通過一條SQL語句,我們可以遍歷所有的用戶信息: SELECT * FROM user; 2、通過API,我們可以實現添加…

    編程 2025-04-23
  • 人力資源機器

    一、人力資源機器定義及特點 1、人力資源機器是基於信息技術的企業管理軟件,主要用於企業人力資源的規劃、組織、招聘、培訓、考核等方面。 2、人力資源機器具有信息化、數字化、網絡化、智…

    編程 2025-04-23
  • Ubuntu清理磁盤空間

    一、Linux清理磁盤空間命令 Linux下有一些命令可以通過 shell 命令行執行,幫助我們在磁盤空間不足時釋放掉一些空間,這些命令包含如下: # 查看文件夾大小,按照大小排序…

    編程 2025-04-23
  • RandomForest:一種強大的機器學習算法

    一、什麼是RandomForest RandomForest是一種基於決策樹的集成學習算法。它通過在數據集上隨機抽樣和特徵選擇,生成多個決策樹進行集成。根據這些決策樹的投票結果,最…

    編程 2025-04-22
  • CentOS查看磁盤空間詳解

    一、使用df命令查看磁盤空間 df命令是用來顯示Linux中文件系統磁盤使用情況的命令。通過該命令我們可以了解當前系統中各個分區的磁盤使用情況。例如,我們可以使用以下命令查看磁盤的…

    編程 2025-04-13
  • 歸一化在機器學習中的作用

    一、歸一化的定義 歸一化是指將某個變量的取值範圍縮放到0~1或者-1~1之間,以便於不同變量之間的比較和權重的劃分。 它是數據的預處理方法之一,常用於機器學習中。機器學習算法通常基…

    編程 2025-04-12
  • 淺談Python機器學習庫sklearn的安裝使用

    一、安裝sklearn庫的三種方法 Sklearn是由Python語言實現的機器學習庫,其優點在於易於上手、實現簡單、功能強大。sklearn的安裝分為三種方式: 1.使用pip安…

    編程 2025-02-25

發表回復

登錄後才能評論