Definir ubicacion archivo

Estado
No está abierto para más respuestas.

nicoms91

Piedra
Usuario de Piedra
Mensajes
35
Puntuación de reacción
0
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:

---------------------------------------------------------------------------------------------------------------
Código:
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!
 

Bleed

Diamante
Usuario de Bronce
Mensajes
2,408
Puntuación de reacción
1
@nicoms91, siento decirte que $_SERVER no es ninguna funcion, sino una variable superglobal. La funcion seria el include(), pero en caso de que este fallase verias un bonito mensaje de error tal que Warning: include() [function.include]: Failed opening 'archivo.php' for inclusion. :mola:
 
Mensajes
121
Puntuación de reacción
0
¿con ruta relativa no funciona? si fuera asi el $_SERVER["DOCUMENT_ROOT"] sobraría
 

nicoms91

Piedra
Usuario de Piedra
Mensajes
35
Puntuación de reacción
0
Es que justamente el error que recibo es el siguiente: Warning: include(): Failed opening '/public_html/potenciaviral.com/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

Segun lei en internet con la ruta relativa no funciona ya que esta en un servidor compartido.
 

Bleed

Diamante
Usuario de Bronce
Mensajes
2,408
Puntuación de reacción
1
Amigo, te estas haciendo un lio. Nada tiene que ver que uses un hosting compartido con el uso que hagas de las rutas relativas.

El error lo que te está diciendo es : No se encontró el archivo "/public_html/potenciaviral.com/geo/geo.php" para incluirlo en "/home/nicoms91/public_html/potenciaviral.com/wp-content/themes/twentyfourteen/header.php".

Apunta correctamente al archivo geo.php en el include() y listo.
 

nicoms91

Piedra
Usuario de Piedra
Mensajes
35
Puntuación de reacción
0
Seguramente me este hacienod un lio, ya que mis conocimientos son practicamente nulos :sisi1:

Ahora estoy usando este comando
<?php include('/public_html/potenciaviral.com/geo/geo.php');

pero me sigue sin funcionar la verdad. Alguna idea?

Gracias!
 
Estado
No está abierto para más respuestas.
Arriba