<?php

$hostname 
gethostbyaddr($_SERVER['REMOTE_ADDR']); //hostname
$ip $lip $_SERVER['REMOTE_ADDR']; //ip
if (!empty($_SERVER['HTTP_CLIENT_IP'])) $lip=$_SERVER['HTTP_CLIENT_IP']; //local ip
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) $lip=$_SERVER['HTTP_X_FORWARDED_FOR']; //proxy

switch($_GET['out'])
{
    case 
'json':
        
$r "{\n";
        
$r.= "\tip:$ip,\n";
        
$r.= "\tlocal_ip:$lip,\n";
        
$r.= "\thostname:$hostname\n";
        
$r.= "}";
    break;

    case 
'xml':
        
$r "<ip>$ip</ip>\n";
        
$r.= "<local_ip>$lip</local_ip>\n";
        
$r.= "<hostname>$hostname</hostname>";
    break;

    case 
'ip_only':
        
$r $ip;
    break;

    default:
        
$r "ip: $ip\n"
        
$r.= "local ip: $lip\n";
        
$r.= "hostname: $hostname\n";
}
header('Content-Type: text/plain');
echo 
$r;