This article mainly introduces how to use php to obtain the MAC address of the NIC to support WINLINUX. For more information, see
This article mainly introduces how to use php to obtain the MAC address of the NIC to support WIN/LINUX systems. If you need it, refer
The Code is as follows:
/**
Obtain the MAC address source code of the NIC. Currently, Windows/LINUX systems are supported.
Obtain the physical (MAC) Address of the machine Nic
**/
Class GetMacAddr {
Var $ return_array = array (); // returns a string array with a MAC address.
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;
}
}
// Method usage
$ Mac = new GetMacAddr (PHP_ OS );
Echo $ mac-> mac_addr; // The real MAC address of the machine. comment out the address.
?>