Foros del Web » Programando para Internet » PHP »

Rutas Absolutas PHP

Estas en el tema de Rutas Absolutas PHP en el foro de PHP en Foros del Web. Hola. Mi problema es el siguiente. Si pongo "/directorio/pagina.php" lo que me hace apache es ir al directorio raiz, es decir el de htdocs. Sin ...
  #1 (permalink)  
Antiguo 09/04/2004, 03:57
 
Fecha de Ingreso: octubre-2003
Mensajes: 153
Antigüedad: 14 años, 1 mes
Puntos: 5
Rutas Absolutas PHP

Hola. Mi problema es el siguiente. Si pongo

"/directorio/pagina.php"

lo que me hace apache es ir al directorio raiz, es decir el de htdocs. Sin embargo si pongo un

include ("/directorio/pagina.php")

lo que me hace php es ir al RAIZ (disco duro) es decir, en vez de buscar en htdocs, como hace apache busca en c:

He estado mirando configuración y demás, pero no doy con la tecla. ¿Alguien podría ayudarme?

La solución de usar una ruta relativa no me vale por lo siguiente.
Tengo el archivo interfaz_grafica.php en htdocs, que a su vez tiene un include a cabecera.php en htdocs. Hasta ahí todo perfecto, el problema es cuando en htdocs\cliente\altacliente\altacliente.php llamo a interfaz grafica, ésta falla porque intenta hacer un include a cabecera.php que se encuentra en htdocs y no donde está siendo incluida.

Gracias
  #2 (permalink)  
Antiguo 09/04/2004, 05:56
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Es que include usa rutas, mientras que lo otro es una URL.

Solucion: usar constantes. Defines una constante con la ruta al htdocs, y usas sa constante para los include. Por ejemplo:
Código PHP:
define('RAIZ',$_SERVER['DOCUMENT_ROOT']);
include(
RAIZ.'/directorio/pagina.php'); 
Dependiendo del servidor, el DOCUMENT_ROOT puede o no acabar en /, y puede ser el raiz del sitio web, o el raiz de tu alojamiento. Por eso lo mejor es meter el define en un fichero e incluirlo en todos los ficheros. Si cambias de alojamiento, solo tienes que cambiar el fichero de los define. Otra ventaja es que pudes hacer que tu aplicacion pueda instalarse en el raiz o en un subdirectorio.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 09/04/2004, 06:54
 
Fecha de Ingreso: octubre-2003
Mensajes: 153
Antigüedad: 14 años, 1 mes
Puntos: 5
ok. De momento estoy poniendo los includes asi:
include "$_SERVER[DOCUMENT_ROOT]/proyecto/cabecera.php";
pero creo que es un fallo de mi configuración del php, porque si lo subo a cualquier web y pongo
include "/proyecto/cabecera.php"
funciona perfectamente.

Saludos y gracias por la respuesta.
  #4 (permalink)  
Antiguo 09/04/2004, 07:05
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Puedes mirar el valor de la directiva include_path.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 09/04/2004, 07:13
 
Fecha de Ingreso: octubre-2003
Mensajes: 153
Antigüedad: 14 años, 1 mes
Puntos: 5
include_path = ".;c:\Archivos de programa\Apache Group\Apache2\htdocs"

En teoría está bien.
  #6 (permalink)  
Antiguo 07/11/2014, 14:03
 
Fecha de Ingreso: noviembre-2014
Mensajes: 1
Antigüedad: 3 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Rutas Absolutas PHP

hola amigo este es tu problema
include ("/directorio/pagina.php")
ps cuando es asi es para el directorio raiz o
include ("../directorio/pagina.php")
atras simplemente quitalo y pon lo asi
include ("directorio/pagina.php")
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 13:11.