Q:

Como criar um arquivo de texto com o IP do cliente

Boa tarde galera, estou tentando criar um arquivo de texto com o IP do cliente, assim, digamos que o servidor criará um arquivo executar X ação,envia o arquivo para download para o cliente, em seguida deleta do servidor. Só estou faltando saber como cria o arquivo com o numero de ip do cliente, minha intensão é que se eu definir um nome padrão para o arquivo, e multiclientes acessar  pag, quando for gerar o arquivo eles não conflitem, talvez tenha outra maneira de fazer isso...

<?php   
 
 $arquivo = fopen("num_ip", "w");
 $texto = "Conteúdo do cliente aqui";
 fwrite($arquivo, $texto);
 fclose($arquivo); 
 
 function download( $path, $fileName = '' )
  {

   if( $fileName == '' )
    {
     $fileName = basename( $path );
    }

   header("Content-Type: application/force-download");
   header("Content-type: application/octet-stream;");
   header("Content-Length: " . filesize( $path ) );
   header("Content-disposition: attachment; filename=" . $fileName );
   header("Pragma: no-cache");
   header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
   header("Expires: 0");
   readfile( $path );
   flush();
    }
download( 'num_ip.txt', 'arquivo.txt' );

$arquivo = "num_ip.txt";
(!unlink($arquivo))



 
?>

A:

Se for saber o ip que acessou da pra usar algo assim:
    function getIp() 
    {
        $ipaddress = '';
        if (getenv('HTTP_CLIENT_IP'))
            $ipaddress = getenv('HTTP_CLIENT_IP');
        else if(getenv('HTTP_X_FORWARDED_FOR'))
            $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
        else if(getenv('HTTP_X_FORWARDED'))
            $ipaddress = getenv('HTTP_X_FORWARDED');
        else if(getenv('HTTP_FORWARDED_FOR'))
            $ipaddress = getenv('HTTP_FORWARDED_FOR');
        else if(getenv('HTTP_FORWARDED'))
           $ipaddress = getenv('HTTP_FORWARDED');
        else if(getenv('REMOTE_ADDR'))
            $ipaddress = getenv('REMOTE_ADDR');
        else
            $ipaddress = 'UNKNOWN';
        return $ipaddress;
    }

