您的位置:首页 > 编程语言 > PHP开发

php显示mac地址和IP地址的方法

2012-05-25 16:24 477 查看
1.获取mac地址:经验证,所有标明php获取mac地址的方法获得的都是服务器的mac,无法得到客户端mac地址

方法一:

<?php

//获取mac地址的方法

class GetMacAddr{

var $return_array = array(); // 返回带有MAC地址的字串数组

var $mac_addr;

function GetMacAddr($os_type){

switch ( strtolower($os_type) ){

case "linux":

$this->forLinux();

break;

case "solaris":

break;

case "unix":

break;

case "aix":

break;

default:

$this->forWindows();

break;

}

$temp_array = array();

foreach ( $this->return_array as $value ){

if (

preg_match("/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i",$value,

$temp_array ) ){

$this->mac_addr = $temp_array[0];

break;

}

}

unset($temp_array);

return $this->mac_addr;

}

function forWindows(){

@exec("ipconfig /all", $this->return_array);

if ( $this->return_array )

return $this->return_array;

else{

$ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";

if ( is_file($ipconfig) )

@exec($ipconfig." /all", $this->return_array);

else

@exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->return_array);

return $this->return_array;

}

}

function forLinux(){

@exec("ifconfig -a", $this->return_array);

return $this->return_array;

}

}

//方法使用

$mac = new GetMacAddr(PHP_OS);

echo $mac->mac_addr;

?>

方法二:

<?php

//此方法获得的mac地址后面会有FF-FF-FF-FF-FF-FF-FF-FF

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

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

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

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

echo $mac[1];

}

}

?>

2.获取IP地址:获取的是外网ip,无法获取内网ip

<?php

//获取ip 有点问题

echo " <br>";

$iipp = $_SERVER["REMOTE_ADDR"];

echo $iipp;

echo " <br>";

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: