Ayuda con script

  • Autor Autor Nicoms91
  • Fecha de inicio Fecha de inicio
N

Nicoms91

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola amigos, estoy teniendo un problema que creo es muy sencillo de resolver pero como no tengo conocimientos de PHP realmente se me esta poniendo dificil.
Quiero poner en mi sitio publicidad pero que cambie segun el pais de origen del visitante (si de de España muestre un banner si es de Argentina otro, etc.). Ahora para lograr esto econtre un tutorial muy "sencillo" (o al menos eso parecia :sisi1🙂. Lo copio para que lo tengan completo y quizas le sirva a alguien:

---------------------------------------------------------------------------------------------------------------
Insertar CODE, HTML o PHP:
Its super easy. Download the maxmind geo lite file and save it in a folder called geo

Then create a file called geo.php (should be saved in the geo folder) and place this in it.

PHP Code:
<?php   
global $country; 
require_once 'geoip.inc'; 
$geo = geoip_open($_SERVER["DOCUMENT_ROOT"].'/geo/GeoIP.dat', GEOIP_STANDARD ); 
$country = geoip_country_code_by_addr($geo, $_SERVER['REMOTE_ADDR']); 
?>
Now add the following to your page

PHP Code:
<?php include ($_SERVER["DOCUMENT_ROOT"].'/geo/geo.php'); global $country; // Add this to the top of your page (or anywhere above where you're going to add some geo targeting ?>
PHP Code:
<?php if($country=='US'): ?>
USA ad goes here

PHP Code:
<?php else: ?>
ROW ad goes here

PHP Code:
<?php endif; ?>
If you have any problems I'll be on Skype for a few hours - I don't mind setting up the first page for you...so you have a working example.

Edit - if you are using more than one country or putting the ad on multiple pages I would set up an include for the ads and do something like this (just makes updating that much easier)

PHP Code:
<?php include ($_SERVER["DOCUMENT_ROOT"].'/geo/geo.php'); global $country; // Add this to the top of your page (or anywhere above where you're going to add some geo targeting ?> 

<?php if ($country=='US') { 
include ($_SERVER["DOCUMENT_ROOT"].'/ad/usa.php'); 
} elseif ($country=='CA') { 
 include ($_SERVER["DOCUMENT_ROOT"].'/ad/canada.php');  
} 

 else { 
include ($_SERVER["DOCUMENT_ROOT"].'/ad/euro.php'); 
 } 
?>
---------------------------------------------------------------------------------------------------------------

Ahora el tema es que como tengo un shared hosting, esta funcion $_SERVER["DOCUMENT_ROOT"] no me esta trayendo el archivo geo.php . Entonces segun creo, necesitaria alguna forma absoluta (o lo que ustedes crean mejor) de llamar a este archivo. El mismo esta en la carpeta "/public_html/potenciaviral.com/geo"

Bueno ese seria el problema. Creo que es basntante sencillo de resolver (para alguien que sepa) pero realmente no se nada de php y hace 4 horas que estoy buscando la solucion pero no la puedo encontrar.


Desde ya les agradezco!
Saludos!
 
prueba a cambiar:
PHP:
<?php include ($_SERVER["DOCUMENT_ROOT"].'/geo/geo.php'); global $country; // Add this to the top of your page (or anywhere above where you're going to add some geo targeting ?>

por:
PHP:
<?php include dirname(__FILE__).'/myParent.php'.'/geo/geo.php'); global $country; // Add this to the top of your page (or anywhere above where you're going to add some geo targeting ?>

Si mi memoria no falla, creo que así bastaría. Saludos.
 
Hola, agradezco tu respuesta pero no me funciono. Sigue aparenciendo el mismo error: Warning: include(): Failed opening '/home/nicoms91/public_html/potenciaviral.com/wp-content/themes/twentyfourteen/myParent.php/geo/geo.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/nicoms91/public_html/potenciaviral.com/wp-content/themes/twentyfourteen/header.php on line 35
 
Si es en wordpres se hace así:

PHP:
include (TEMPLATEPATH.'/geo/geo.php'); global $country; // Add this to the top of your page (or anywhere above where you're going to add some geo targeting
 
<?php require_once (dirname( __FILE__ ) . '/geo/geo.php'); global $country; ?>

así también.
 
Gracias a todos por sus respuestas. Lamenteablemente me sigue saltando el mismo error. Algun idea? Podra ser otra cosa?

Gracias de antemano
 
Gracias a todos por sus respuestas. Lamenteablemente me sigue saltando el mismo error. Algun idea? Podra ser otra cosa?

Gracias de antemano

pues donde tenes /geo/geo.php... o esta dentro del theme... o en el inicio... si esta junto con el theme la respuesta de: http://forobeta.com/php/360202-ayuda-script-post2918405.html#post2918405

funciona 100%... si esta en otro lado, tenes que indicarle donde esta... creo que estas metiendo mal vos, porque los codes esos funcionan
 
Hola cicklow, gracias por responder. La ubicacion del archivo es la siguiente "/public_html/potenciaviral.com/geo/geo.php . Claramente los codes funcionan, lo que pasa es que debido a mi desconocimiento en el tema no los se implementar en el momento debido. Con esta ruta, que code deberia usar? Y sino, en que parte de la carpeta "theme" deberia colocar la carpeta "geo" para que lo tomara con el code propuesto por jxit3?

Saludos!
 
Si ya conoces la ruta, simplemente úsala

PHP:
include ("/home/nicoms91/public_html/potenciaviral.com/geo/geo.php");
 
Si estas usando uno de estos servicios de geolocalización que ofrecen gratis, normalmente te piden que les hagas publicidad de su web. Hasta que no tengas un enlace a su web en tu pagina no te va a funcionar, eso me ha ocurrido a mi, no se si este es el caso tuyo tampoco veo que pones muchos detalles de donde has cogido el tutorial
 
Atrás
Arriba