サーバー Mac を取得します
コードをコピーします コードは次のとおりです:
/**
ネットワーク カードの元の MAC アドレスを取得します。現在 WIN/LINUX システムをサポートしています
マシンのネットワーク カードの物理 (MAC) アドレスを取得します
**/
class GetmacAddr{
var $result = array(); // MAC アドレスを返します 文字列配列
var $macAddr;
/*Construction*/
function __construct($osType){
switch (strto lower($osType) ){
case "unix": Break
case "solaris": Break; ;
ケース "aix": ブレーク;
$this->for_linux_os();
デフォルト: {
$this->for_windows_os();
$ temp_array = array();
foreach($this->result 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->macAddr = $temp_array[0];
break;
}
}
unset($temp_array);
return $this->macAddr;
}
/ *Linux システムでのメソッドの取得*/
function for_linux_os(){
@exec("ifconfig -a", $this->result);
return $this->result;
/*in winシステム取得メソッド*/
function for_windows_os(){
@exec("ipconfig /all", $this->result) {
return $this->result; } else {
$ipconfig = $_SERVER["WINDIR"]."system32ipconfig.exe";
if(is_file($ipconfig)) {
@exec($ipconfig." /all", $this->result) ;
} else {
@exec($_SERVER["WINDIR"]."systemipconfig.exe /all", $this->result);
return $this->result;
?>
クライアントの MAC アドレスを取得します:
コードをコピーします
コードは次のとおりです:
@exec("arp -a",$array) // arp を実行します。コマンドを実行し、結果を配列 $array に入れます
foreach($array as $value){
//一致した結果を配列 $mac_array に入れます
if(strpos($value,$_SERVER["REMOTE_ADDR"]) && preg_match ("/(:?[0 -9A-F]{2}[:-]){5}[0-9A-F]{2}/i",$value,$mac_array)){
$mac = $mac_array[0]; break ; } } echo $mac;
注: クライアントによって取得された mac は、このマシンではテストできず、別のコンピューターからアクセスすることによってのみ出力できます。
http://www.bkjia.com/PHPjc/770587.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/770587.html
技術記事
次のようにサーバー Mac コピー コードを取得します: ?php /**ネットワーク カードの元の MAC アドレスを取得します。現在、WIN/LINUX システムをサポートしています。マシンのネットワーク カードの物理 (MAC) アドレスを取得します。*/ class GetmacAddr{...