• PHP获得计算机的唯一标识[cpu,网卡]


    以下是从网上转载来的源码,但是我测试均不能执行,不知道怎么回事,转过来大家可以交流一下

    <?php
    //获取电脑的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(" ",$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;
    }
    }
    }
    return empty($a)?false:$a;
    }
    //获取网卡的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];
    }
    }
    }
    echo OnlyU();
    echo getMAC();
    ?>

    //获取网卡的MAC的地址
    <?php
    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 "]. "system32ipconfig.exe ";
    if(is_file($ipconfig)){
    @exec($ipconfig. " /all ", $this-> return_array);
    }else{
    @exec($_SERVER[ "WINDIR "]. "systemipconfig.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;
    ?>

  • 相关阅读:
    JSTL XML标签库 使用
    JSTL SQL标签库 使用
    JSTL I18N 格式标签库
    基于struts2的ajaxfileupload异步上传插件的使用
    Spring 使用注解方式进行事务管理
    vi编辑器的使用方式
    js基础知识介绍
    选择语句
    数组
    0411作业
  • 原文地址:https://www.cnblogs.com/jyb2014/p/4112805.html
Copyright © 2020-2023  润新知