O PHP oferece diversas funções para trabalharmos com endeços de IP. Veja alguns exemplos:
$ip = $_SERVER['REMOTE_ADDR'];
echo $ip; // 127.0.0.1
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
echo $host; // localhost
$get_ip = gethostbyname('www.uol.com.br');
echo $get_ip; // 200.221.2.45
$get_ips = gethostbynamel('www.google.com');
print_r($get_ips); // Array ( [0] => 66.102.7.99 [1] => 66.102.7.147 [2] => 66.102.7.104 )
A primeira função, $_SERVER['REMOTE_ADDR'], é utilizada para sabermos o endereço de IP de um usuário, por exemplo. A segunda, gethostbyaddr(), informa o nome do host name de Internet referente ao endereço de IP. A função gethostbyname() retorna o endereço de IP correspondente a um host name de internet, já a última delas, gethostbynamel(), retorna uma lista de endereços de IP correspondente ao host name de internet.
Hoje, conheci mais duas funções para se trabalhar com IP muito interessantes. São elas, ip2long() e long2ip(). Observe:
$receive = ip2long($_SERVER['REMOTE_ADDR']);
$output = long2ip($receive);
echo $receive; // 2130706433 {integer}
echo $output; // 127.0.0.1 {string}
Uma trabalha em conjunto com a outra. Enquanto a ip2long() converte uma string contendo um “Internet Protocol dotted address” válido em um integer; a long2ip() converte o integer em uma string.
A função ip2long() se torna muito útil, quando se faz necessário armazenar endereços de IP em um banco de dados. Reduzindo consideravelmente o espaço utilizado, além de tornar muito mais rápida uma futura consulta no banco de dados por esses endereços de IP.
Digo, reduzir o espaço por que ao invés de armazenar o endereço de IP como uma string – 127.0.0.1 – e utilizando para tal um campo do tipo char(15), o que gastaria 15 bytes. Você pode pode armazená-lo como um integer – 2130706433 – e gastar 4 bytes ao invés de 15. Posteriormente para exibir o endereço de IP, você usaria a função long2ip().
Para finalizar. Conheci a função ip2long() e long2ip neste post: 10 things you (probably) didn’t know about PHP e cheguei até ele através deste outro: Links comentados via del.icio.us – 7
Retweet this postTags: php
Cara muito bom o conteudo, abraço
Muito bom…
Eu precisava saber se vc sabe uma função que pega o endereço do site que o usuario esta utilizando no momento.
Exemplo tenho varios sites meus no ar e gostaria de saber em qual ele esta postando o contato.
útil
Wilson, você pode utilizar o seguinte código: $_SERVER['HTTP_REFERER'];
Um abraço.
Muito bom.
Entrega Via NET. O site de entregas em domicílio.
Muito bom e de muita utilidade.
Muito legal este código realmente bom
parabém pelo site…..
Boa noite ; gostaria de saber se existe alguma função em php que resgate o ip do gateway padrão da rede.
Obrigado e para bens pelo site
”
window.location=”c:”;
“
show de bola…
informação básica e útil!