Redirecionamento por IP
Boa Tarde a todos!
Então vamos a um simples script para Redirecionar um site que seja dividio em idioma no exemplo usarei inglês e português.
Conceitos
O Script:
<?
$ip = getenv("REMOTE_ADDR");
$array_ip = explode(".", $ip);
if ($array_ip[0] == "189" || $array_ip[0] == "200" || $array_ip[0] == "201")
Header ("Location: portugues.php");
else
Header ("Location: ingles.php");
?>
Entendendo o script:
$ip = getenv("REMOTE_ADDR");Pegamos o ip com a função getevnv("REMOTE_ADDR") e implicamos o valor para variavel $ip.
Aplicamos a função explode para assim separarmos o IP por partes a serem dividas pelo . (ponto)
Porque pelo ponto?
Pois sabemos que a mascara de IP é:
XXX.XXX.XXX.XXX
Então para redirecionar iremos usar apenas a primeira parte do IP pois temos a faixa de IP do Brasil como iniciandas por 189, 200 e 201 (podem adicionar outros inicios).
Colocamos o valor da execução da função explode no array $array_ip.
Então agora basta usar o if para verificar se a primeira parte do array é igual ao valor de uma das faixas brasileira.
if ($array_ip[0] == "189" || $array_ip[0] == "200" || $array_ip[0] == "201")
E direcionar para a página em portuguës.
Header ("Location: portugues.php");
Caso não seja um ip iniciado com uma faixa brasileira então mandando para o site em ingles.
else
Header ("Location: ingles.php");
Básicamente é isso. Caso implementem melhor o código postem o resultado. Ou se surgir alguma dúvida post. ;)
FONTE: php.net
Agradescimento: jeronymo
Discussão (17)
Carregando comentários...