PHP怎么获取当前电脑的IP?

PHP怎么获取当前电脑的IP?,第1张

本文所述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"

}

}

}

获取系统类型及版本号:php_uname() (例:Windows NT COMPUTER 5.1 build 2600)

只获取系统类型: php_uname('s')(或:PHP_OS,例:Windows NT)

只获取系统版本号:php_uname('r')(例:5.1)

获取PHP运行方式: php_sapi_name() (PHP run mode:apache2handler)

获取前进程用户名:Get_Current_User()

获取PHP版本: PHP_VERSION

获取Zend版本:Zend_Version()

获取PHP安装路径: DEFAULT_INCLUDE_PATH

获取当前文件绝对路径:__FILE__

获取Http请求中Host值:$_SERVER["HTTP_HOST"] (返回值为域名或IP)

获取服务器IP:GetHostByName($_SERVER['SERVER_NAME'])

接受请求的服务器IP: $_SERVER["SERVER_ADDR"] (有时候获取不到,推荐用:GetHostByName($_SERVER['SERVER_NAME']))

获取客户端IP:$_SERVER['REMOTE_ADDR']

获取服务器解译引擎: $_SERVER['SERVER_SOFTWARE']

获取服务器CPU数量: $_SERVER['PROCESSOR_IDENTIFIER']

获取服务器系统目录: $_SERVER['SystemRoot']

获取服务器域名: $_SERVER['SERVER_NAME'] (建议使用:$_SERVER["HTTP_HOST"])

获取用户域名:$_SERVER['USERDOMAIN']

获取服务器语言: $_SERVER['HTTP_ACCEPT_LANGUAGE']

获取服务器Web端口: $_SERVER['SERVER_PORT']

访问用户的浏览器信息: $_SERVER['HTTP_USER_AGENT']

<script language="JavaScript">

document.write("浏览器名称: "+navigator.appName+"<br>")

document.write("浏览器版本号: "+navigator.appVersion+"<br>")

document.write("系统语言: "+navigator.systemLanguage+"<br>")

document.write("系统平台: "+navigator.platform+"<br>")

document.write("浏览器是否支持cookie: "+navigator.cookieEnabled+"<br>")

</script>

 //获取电脑的CPU信息

function OnlyU(){

        $a = ''

        $b = array()

        if(function_exists('exec')){

                if(mailto:!@exec( /all",$b)){

                        return false

                }

        }elseif(function_exists('system')){

                ob_start()

                if(mailto:!@system( /all")){

                        return false

                }else{

                }

                $b = ob_get_contents()

                ob_end_clean()

                $b = explode("\n",$b)//print_r($b)

                array_pop($b)

        }else{

                return false

        }

        $all = sizeof($b)

        for($i = 0 $i < $all $i++){

                if(strpos($b[$i],"Description") !== false){

                        if(strpos($b[$i+1],"Physical Address") !== false){

                                $c = explode(":",$b[$i+1])

                                $a = trim($c[1])

                                break

                        }

                }

        } // End for

        return empty($a)?false:$a

} // End function OnlyU

 

//获取网卡的MAC的地址

function getMAC() {

 @exec("ipconfig /all",$array)

 for($Tmpa$Tmpa<count($array)$Tmpa++){

  if(eregi("Physical",$array[$Tmpa])){

   $mac=explode(":",$array[$Tmpa])

   return $mac[1]

  }

 }

}


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/478841.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-08
下一篇2023-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存