Foros del Web » Programando para Internet » PHP »

problema include, archivo en raiz

Estas en el tema de problema include, archivo en raiz en el foro de PHP en Foros del Web. Hola que tal? Miren, tengo el siguiente problema... Tengo el siguiente arbol de directorios: -raiz -- archivos --- admin Dentro de cada directorio tengo los ...
  #1 (permalink)  
Antiguo 16/11/2007, 20:14
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 16 años, 10 meses
Puntos: 2
problema include, archivo en raiz

Hola que tal?

Miren, tengo el siguiente problema...

Tengo el siguiente arbol de directorios:

-raiz
-- archivos
--- admin

Dentro de cada directorio tengo los siguientes archivos:

-raiz -> datos.php
-- archivos -> principal.php
--- admin -> admin.php

Los archivos contienen lo siguiente:
datos.php
Código PHP:
<?php
$variable 
"dato";
?>
principal.php
Código PHP:
<?php
include("../datos.php");
echo 
$variable;
?>
admin.php
Código PHP:
<?php
include("../principal.php");
echo 
$variable;
?>
Bueno, ahora lo explico: En el directorio raíz tengo un archivo, donde hay una variable que necesito usar en la mayoría de las otras paginas.
Entonces, principal.php incluye este archivo (datos.php), para que de esta forma igual contenga la variable que necesito, hasta allí todo bien, ya que el archivo lo saca de un directorio inferior.
El problema esta al querer incluir principal.php en admin.php, donde igual necesito usar la variable que esta en datos.php, pero, como los archivos que se necesitan se van sacando del directorio anterior, cuando se ejecuta admin.php este incluye principal.php pero no incluye datos.php del directorio raíz, sino del directorio archivos, pero allí no existe el archivo que necesito, entonces se me produce el error

Código PHP:
Warning:  include(../datos.php) [function.include]: failed to open streamNo such file or directory in raizarchivosprincipal.php on line 3 
De que forma puedo hacer para que datos.php sea accesible de esta manera en el archivo admin.php (aun incluyendo principal.php)

PD: Probando la ruta completa (localhost/raiz/datos.php) no me funciona, ya que el servidor no lo admite.
__________________
KIBIT.cl
  #2 (permalink)  
Antiguo 16/11/2007, 20:39
 
Fecha de Ingreso: noviembre-2007
Mensajes: 157
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: problema include, archivo en raiz

Con la ruta completa, pero bien puesta ;)
En windows sería algo tipo 'C:\archivo.php'
Y en linux tipo '/home/usuario/archivo.php';

Si no sabes cual es, pon
Código PHP:
echo getcwd(); 
y te saldrá en qué directorio estás
  #3 (permalink)  
Antiguo 16/11/2007, 20:48
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 16 años, 10 meses
Puntos: 2
Re: problema include, archivo en raiz

No funciona, ya que por ejemplo, principal.php incluye a datos.php, que esta en un directorio inferior, entonces si lo incluyo seria:

Código PHP:
include(getcwd() . "\datos.php"); 
Pero getcwd devuelve la ruta de principal.php, y datos esta fuera de ese directorio, esta un directorio abajo.

Lo mismo ocurriria con admin.php, al querer incluir principal.php.
__________________
KIBIT.cl
  #4 (permalink)  
Antiguo 16/11/2007, 20:54
 
Fecha de Ingreso: octubre-2006
Mensajes: 173
Antigüedad: 17 años, 6 meses
Puntos: 3
Re: problema include, archivo en raiz

Hola. prueba asi
Código PHP:
include($_SERVER['DOCUMENT_ROOT']."/datos.php"); 
__________________
¨
  #5 (permalink)  
Antiguo 16/11/2007, 20:55
 
Fecha de Ingreso: noviembre-2007
Mensajes: 157
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: problema include, archivo en raiz

Ya, pero yo no te decía de ponerlo ahí a pelo. Era solo para que descubrieras la ruta correcta.

Ahora pones el directorio absoluto y ya está.
  #6 (permalink)  
Antiguo 16/11/2007, 22:11
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 16 años, 10 meses
Puntos: 2
Re: problema include, archivo en raiz

ok, ahora funciono ;)

muchisimas gracias
__________________
KIBIT.cl
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 18:16.