Tutorial: Mostrar conteúdo de acordo com o PAÍS (Simples)

  • Autor Autor deskpro123
  • Data de início Data de início
Este tópico foi traduzido automaticamente do espanhol. Ver original
Muito interessante, vou testar.
Obrigado.
 
maxmind é um dos maiores provedores de GeoIP, e um dos principais... não acho que vá cair... mas, por fim, teste para ver o que acontece...

Acho que para mim, com PHP, parou de funcionar, já que tenho uma div com um banner hidden, se for de x país ele fica visível, mas se não, ele fica oculto marcando impressões, mas não dinheiro, então vi que havia muitas impressões mas sem ganhos, e acho que o código PHP que eu usava parou de funcionar

PHP:
<?php

$var = file_get_contents('http://smart-ip.net/geoip-json/'.$_SERVER['REMOTE_ADDR']);
$api = json_decode($var);

if($api->countryCode == 'DO'){

echo 'SOY DE USSS';

}

?>

Não me mostra nada, parece que bloquearam o domínio no smart-ip por muitas consultas que o site faz, já que tem vários milhares online, não tem outra maneira de segmentar com PHP 🙁 socorro!

Edito:

Dei um echo na variável $var e apareceu isso 🙁

{"error":"Requests limit exceeded!"}

Alguma solução ou serviço pago?

Volto e edito:

encontrei um site grátis de Geo IP, mas não sei se é porque não permite json decode :S

http://www.telize.com/geoip/

Estou com ele assim, mas não funciona para mim:

PHP:
<?php

$var = file_get_contents('http://www.telize.com/geoip/'.$_SERVER['REMOTE_ADDR']);
$api = json_decode($var);

if($api->country_code == 'DO'){

echo 'SOY DE USSS';

}

?>

É possível bloquear essa função em sites externos, Json decode?
 
Última edição:
Acho que para mim, com PHP, parou de funcionar, já que tenho uma div com um banner hidden, se for de x país ele fica visível, mas se não, ele fica oculto marcando impressões, mas não dinheiro, então vi que havia muitas impressões mas sem ganhos, e acho que o código PHP que eu usava parou de funcionar

PHP:
<?php

$var = file_get_contents('http://smart-ip.net/geoip-json/'.$_SERVER['REMOTE_ADDR']);
$api = json_decode($var);

if($api->countryCode == 'DO'){

echo 'SOY DE USSS';

}

?>

Não me mostra nada, parece que bloquearam o domínio no smart-ip por muitas consultas que o site faz, já que tem vários milhares online, não tem outra maneira de segmentar com PHP 🙁 socorro!

Verifique bem, pode ser que tenham mudado algo na API no início do ano, isso costuma acontecer muito em alguns sites que oferecem estatísticas e geolocalizações grátis.
 
Se servir de algo, eu uso um código PHP muito simples e que não depende de APIs. Espero que sirva para vocês:

<?php
$idioma_navegador = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,5);
switch ($idioma_navegador){
case "es-AR":
$pais = "Argentina";
break;
case "es-ES":
$pais = "Espanha";
break;
case "es-CL":
$pais = "Chile";
break;
case "es-MX":
$pais = "México";
break;
case "es-CO":
$pais = "Colômbia";
break;
case "es-EC":
$pais = "Equador";
break;
case "es-PY":
$pais = "Paraguai";
break;
case "es-PE":
$pais = "Peru";
break;
case "es-UY":
$pais = "Uruguai";
break;
case "es-VE":
$pais = "Venezuela";
break;
default :
$pais = "Outro";
break;
}
?>
 
Se servir de algo, eu uso um código PHP muito simples e que não depende de APIs. Espero que sirva para vocês:

<?php
$idioma_navegador = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,5);
switch ($idioma_navegador){
case "es-AR":
$pais = "Argentina";
break;
case "es-ES":
$pais = "Espanha";
break;
case "es-CL":
$pais = "Chile";
break;
case "es-MX":
$pais = "México";
break;
case "es-CO":
$pais = "Colômbia";
break;
case "es-EC":
$pais = "Equador";
break;
case "es-PY":
$pais = "Paraguai";
break;
case "es-PE":
$pais = "Peru";
break;
case "es-UY":
$pais = "Uruguai";
break;
case "es-VE":
$pais = "Venezuela";
break;
default :
$pais = "Outro";
break;
}
?>


Mas o que ele faz? Detecta apenas o idioma do navegador? Espero que essa seja a minha salvação....
 
É isso mesmo; a variável $pais coleta o nome do país, e em função disso você já pode mostrar conteúdo diferente. Você pode adicionar mais países, é claro.

Teste e me diga se funciona para você.
 
Que coincidência, justamente tenho a necessidade de mostrar alguns anúncios apenas para a Espanha. Consegui uma campanha Adjal para este país e não quero que vejam em todos os outros.

Vou tentar implementar em breve.

Muito obrigado. :encouragement:
 
Acho que para mim, com PHP, parou de funcionar, já que tenho uma div com um banner hidden, se for de x país ele fica visível, mas se não, ele fica oculto marcando impressões, mas não dinheiro, então vi que havia muitas impressões mas sem ganhos, e acho que o código PHP que eu usava parou de funcionar

PHP:
<?php

$var = file_get_contents('http://smart-ip.net/geoip-json/'.$_SERVER['REMOTE_ADDR']);
$api = json_decode($var);

if($api->countryCode == 'DO'){

echo 'SOY DE USSS';

}

?>

Não me mostra nada, parece que bloquearam o domínio no smart-ip por muitas consultas que o site faz, já que tem vários milhares online, não tem outra maneira de segmentar com PHP 🙁 socorro!

Edito:

Dei um echo na variável $var e apareceu isso 🙁

{"error":"Requests limit exceeded!"}

Alguma solução ou serviço pago?

Volto e edito:

encontrei um site grátis de Geo IP, mas não sei se é porque não permite json decode :S

http://www.telize.com/geoip/

Estou com ele assim, mas não funciona para mim:

PHP:
<?php

$var = file_get_contents('http://www.telize.com/geoip/'.$_SERVER['REMOTE_ADDR']);
$api = json_decode($var);

if($api->country_code == 'DO'){

echo 'SOY DE USSS';

}

?>

É possível bloquear essa função em sites externos, Json decode?

Estava procurando justamente algo assim... Continua funcionando? Você está usando outro agora?
 
Estava procurando justamente algo assim... Continua funcionando? Você está usando outro agora?

Bom, comprei um de 50 Dólares, não tive tempo de implementá-lo ainda, mas não, não encontrei nada bom grátis 🙁
 
muito bom, vou ver de usar
 
[MENTION=25010]deskpro123[/MENTION] afinal, como você resolveu?
 
Obrigado pela contribuição
 
[MENTION=25010]deskpro123[/MENTION]

Para WordPress encontrei isto (não testei).

Também encontrei este, testei mais ou menos e funcionou, se alguém puder testar mais a fundo, agradeceria.

Abraços
 
[MENTION=25010]deskpro123[/MENTION]

Para WordPress encontrei isto (não testei).

Também encontrei este, testei mais ou menos e funcionou, se alguém puder testar mais a fundo, agradeceria.

Abraços

Obrigado, vou testar amigo.
 
Vou testar :encouragement:
 
Pessoal, a nível de servidor, por que não testam com mod_geoip??, é muito mais rápido que todas as versões que mostraram aqui...
 
hey, obrigado por compartilhar, colegas
 

Tópicos similares

Voltar
Topo