Foros del Web » Programando para Internet » PHP »

include() y directorio Raiz

Estas en el tema de include() y directorio Raiz en el foro de PHP en Foros del Web. Buenas tardes, tengo un problemita con el include. Me gustaria poner poner rutas relativas desde la raiz de mi sitio y no me esta funcionando. ...
  #1 (permalink)  
Antiguo 24/05/2011, 13:59
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
include() y directorio Raiz

Buenas tardes,
tengo un problemita con el include. Me gustaria poner poner rutas relativas desde la raiz de mi sitio y no me esta funcionando. Por Ejemplo

llamando a un archivo en raiz desde un subdirectorio
Código PHP:
Ver original
  1. include("/archivo.php"); //no funciona
  2. include("../archivo.php"); // si funciona


hay alguna forma de solucionar esto? Se puede trabajar tranquilamente de la otra forma, pero es mas "claro" ver las rutas desde la raiz.

Gracias!
  #2 (permalink)  
Antiguo 24/05/2011, 14:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: include() y directorio Raiz

Recuerda que include() funciona a nivel de Sistema Operativo, por lo que si tu le pasas una ruta del tipo "/foo.php" va a buscar en la raiz del disco duro (no de tu sitio web).

Para lo que deseas hacer es mejor alterar el include_path para que puedas hacer includes directo a la base: include("foo.php"); include("foo/bar.php");

Saludos.
  #3 (permalink)  
Antiguo 24/05/2011, 19:07
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Respuesta: include() y directorio Raiz

Gracias GatorV,
de que forma puedo "alterar" esta configuración? a través del php.ini, ini_set()?
seria una mala practica usar una variable global del modo
Código PHP:
Ver original
  1. $_SERVER['HTTP_HOST'];
  2.  
  3. // o en su defecto
  4.  
  5. $dir = "http://www.dominio.com/";

y anteponer esta variable al include() o requiere() ?

Gracias
  #4 (permalink)  
Antiguo 24/05/2011, 20:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: include() y directorio Raiz

Recuerda que include() y require() funcionan a nivel Sistema Operativo, o Disco Duro, es decir, no puedes usar una URL para incluir tus archivos, de lo contrario no incluiras el código PHP, si no el resultado procesado y no es lo que requires.

Lo mejor es como dices definir una variable base y de ahí incluir, por ejemplo:
Código PHP:
Ver original
  1. $baseDir = '/var/www/myuser/myproject/';
  2.  
  3. include($baseDir . 'config/config.php');
  4. include($baseDir . 'other.php');

Saludos.

Etiquetas: directorio, include, raiz
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:30.