> 백엔드 개발 > PHP 튜토리얼 > PHP에서 네트워크 카드 MAC 주소를 얻는 방법(WIN 및 LINUX 시스템 지원)

PHP에서 네트워크 카드 MAC 주소를 얻는 방법(WIN 및 LINUX 시스템 지원)

WBOY
풀어 주다: 2016-07-25 09:12:54
원래의
1120명이 탐색했습니다.

例子,php获取网卡的物理地址,即mac地址。

  1. /**

  2. 获取网卡的MAC地址;目前支持WIN/LINUX系统
  3. 获取机器网卡的物理(MAC)地址
  4. **/

  5. class GetMacAddr{

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

  8. function GetMacAddr($os_type){

  9. switch ( strtolower($os_type) ){
  10. case "linux":
  11. $this->forLinux();
  12. break;
  13. case "solaris":
  14. break;
  15. case "unix":
  16. break;
  17. case "aix":
  18. break;
  19. default:
  20. $this->forWindows();
  21. break;

  22. }

  23. $temp_array = array();

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

  25. if (

  26. 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,
  27. $temp_array ) ){
  28. $this->mac_addr = $temp_array[0];
  29. break;
  30. } bbs.it-home.org

  31. }

  32. unset($temp_array);
  33. return $this->mac_addr;
  34. }

  35. function forWindows(){

  36. @exec("ipconfig /all", $this->return_array);
  37. if ( $this->return_array )
  38. return $this->return_array;
  39. else{
  40. $ipconfig = $_SERVER["WINDIR"]."system32ipconfig.exe";
  41. if ( is_file($ipconfig) )
  42. @exec($ipconfig." /all", $this->return_array);
  43. else
  44. @exec($_SERVER["WINDIR"]."systemipconfig.exe /all", $this->return_array);
  45. return $this->return_array;
  46. }
  47. }

  48. function forLinux(){

  49. @exec("ifconfig -a", $this->return_array);
  50. return $this->return_array;
  51. }

  52. }

  53. //方法使用
  54. $mac = new GetMacAddr(PHP_OS);
  55. echo $mac->mac_addr; //机器的真实MAC地址,请注释掉
  56. ?>
复制代码


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿