Ir ao conteúdo

Posts recomendados

Postado

Boa tarde, estou fazendo um site para um cliente que tem duas versões, português e inglês. o cliente quer que quando alguem de fora do brasil acesse o site, automaticamente carregue o site na versão em inglês (www.site.com.br/eng). Como fazer isso? teria que pegar o ip da pessoa e redirecionar?

Postado
23 minutos atrás, mrpicolo disse:

você poderia me falar como funciona isso? 

 

Não tem muita dificuldade, com pouco de conhecimento em PHP ou javascript e JSON(que é a saida),
você manda pra uma url especifica o endereço de ip, e ele vai voltar os dados em formato JSON
exemplo
SAIDA
"extreme-ip-lookup.com/json/63.70.164.200"
RETORNO

{
   "businessName" : "Sandhills Publishing Company",
   "businessWebsite" : "www.sandhills.com",
   "city" : "Lincoln",
   "continent" : "North America",
   "country" : "United States",
   "countryCode" : "US",
   "ipName" : "proxy.sandhills.com",
   "ipType" : "Business",
   "isp" : "Sandhills Publishing",
   "lat" : "40.8510",
   "lon" : "-96.7110",
   "org" : "Sandhills Publishing Company",
   "query" : "63.70.164.200",
   "region" : "Nebraska",
   "status" : "success"
}

Ai e so pegar o "country" e comparar se for diferente de brasil, carrega a pagina em inglês.

 

Na pagina da API tem exemplos de código só da uma estudada 

  • Curtir 2
Postado
1 hora atrás, mrpicolo disse:

eu fiz o teste, mas não funcionou, vai uma pergunta *****, só pagando pra funcionar?

posta seu código, pra ver como tentou.

a API é gratuita, no caso ela só tem um limite de 50 solicitações por minuto.

a versão paga e ilimitado, quantas solicitações quiser. 

Postado

eu fiz assim:

 $user_ip = getenv('REMOTE_ADDR');
 $geo = json_decode(file_get_contents("http://extreme-ip-lookup.com/json/$user_ip"));
 $country = $geo->country;

 echo $country;

 

Postado

@mrpicolo Seu código até que esta correto, porém se você tiver testando de um servidor local, ele não vai retornar seu IP, ele vai retornar "::1", no caso se você subir esse código em uma hospedagem, com certeza ele vai funcionar, ou pode testar seu código alterando o variavel "$user_ip" para:

$user_ip = "200.180.14.194";

ele vai retornar "Brazil

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!