请问我用php命令执行php文件时,怎么得到本机的ip地址呢?原来通过$_SERVER[]不好用了,先谢谢了O(∩_∩)O~

解决方案 »

  1.   

    如果你在自己电脑上运行的话无非就是 127.0.0.1
    如果在虚拟空间或者服务器上运行的话就是 $_SERVER["SERVER_ADDR"]了
      

  2.   


    <?php
    echo "<br>";
    ?><?php
      
    function GetIP()
    {
    if(!empty($_SERVER["HTTP_CLIENT_IP"]))
       $cip = $_SERVER["HTTP_CLIENT_IP"];
    else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
       $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    else if(!empty($_SERVER["REMOTE_ADDR"]))
       $cip = $_SERVER["REMOTE_ADDR"];
    else
       $cip = "无法获取!";
    return $cip;
    }
    echo "<br>";
    ?>方法二:
    <?php
    echo "<br>";
    ?><?
    error_reporting (E_ERROR | E_WARNING | E_PARSE);
    if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]) 
    {                                              
           $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
          
    }                                              
    elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])    
    {                                              
           $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
             
    }                                              
    elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])       
    {                                              
           $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];  
                
    }                                              
    elseif (getenv("HTTP_X_FORWARDED_FOR"))          
    {                                              
           $ip = getenv("HTTP_X_FORWARDED_FOR");  
                   
    }                                              
    elseif (getenv("HTTP_CLIENT_IP"))                
    {                                              
           $ip = getenv("HTTP_CLIENT_IP");  
                         
    }          
                                     
    elseif (getenv("REMOTE_ADDR"))                   
    {                                              
           $ip = getenv("REMOTE_ADDR"); 
                            
    }       
                                        
    else                                           
    {                                              
           $ip = "Unknown";    
                                     
    }                                              
    echo "你的IP地址是:".$ip."<br>";                            
    ?> 
    方法三(最简单):
    <?php
    echo "<br>";
    ?><?
    $iipp = $_SERVER["REMOTE_ADDR"];
    echo $iipp;
    echo "<br>";
    ?>方法四:
    <?php
    echo "<br>";
    ?><?php
    $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
    $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
    echo $user_IP."<br>";
    ?>方法五:
    <?php
    echo "<br>";
    ?><?
    function get_real_ip()
    {
           $ip=false;
           if(!empty($_SERVER["HTTP_CLIENT_IP"]))
           {
                $ip = $_SERVER["HTTP_CLIENT_IP"];
           }
           if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
           {
                $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
                if ($ip)
                {
                         array_unshift($ips, $ip); $ip = FALSE;
                }
                for ($i = 0; $i < count($ips); $i++)
                {
                         if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i]))
                         {
                                   $ip = $ips[$i];
                                   break;
                         }
                }
           }
           return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
    }
    echo get_real_ip();
    echo "<br>";
    ?>方法六:
    <?php
    echo "<br>";
    ?><?
    if(getenv('HTTP_CLIENT_IP'))
    {
           $onlineip = getenv('HTTP_CLIENT_IP');
    }
    elseif(getenv('HTTP_X_FORWARDED_FOR'))
    {
           $onlineip = getenv('HTTP_X_FORWARDED_FOR');
    }
    elseif(getenv('REMOTE_ADDR'))
    {
           $onlineip = getenv('REMOTE_ADDR');
    }
    else
    {
           $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
    }
    echo $onlineip;
    echo "<br>";
    ?>
      

  3.   


    <?php  
    /**  
     *返回浏览者的IP地址.  
     */ 
    function fkip () {  
        if($_SERVER['HTTP_CLIENT_IP']){  
            $onlineip=$_SERVER['HTTP_CLIENT_IP'];  
        }elseif($_SERVER['HTTP_X_FORWARDED_FOR']){  
            $onlineip=$_SERVER['HTTP_X_FORWARDED_FOR'];  
        }else{  
            $onlineip=$_SERVER['REMOTE_ADDR'];  
        }  
        return $onlineip;  
    }  
    ?> 
      

  4.   

    调用本函数无需任何参数。示例如下:<?php 
    $ipaddr=fkip();    //调用函数,并将IP地址存入变量$ipaddr中  
    echo $ipaddr;    //输出IP地址。  
    ?>   如果在本机调试,输出的结果将是127.0.0.1。
      

  5.   

    问一下,如何获得客户端MAC地址。
      

  6.   

    这些都要服务器支持,我想在系统上直接运行php程序,不需要apache服务器
      

  7.   


    没有服务器支持咋运行php呀