Foros del Web » Programando para Internet » PHP »

Error con variable e include

Estas en el tema de Error con variable e include en el foro de PHP en Foros del Web. Hola, pido disculpas porque soy consciente que es es una pregunta muy básica a ver si alguien me lo puede explicar porque no entiendo que ...
  #1 (permalink)  
Antiguo 12/10/2011, 09:19
Avatar de Agyk  
Fecha de Ingreso: septiembre-2011
Ubicación: Gerona
Mensajes: 14
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta Error con variable e include

Hola, pido disculpas porque soy consciente que es es una pregunta muy básica a ver si alguien me lo puede explicar porque no entiendo que hago mal (intuyo que es un problema de sintaxis) pero no detecto el error, me explico:

Código PHP:
// Tengo que    
$raiz $_SERVER['DOCUMENT_ROOT'];

// y quiero que un include me pille toda la ruta absoluta

include_once $raiz "/menu/especial.php";

/* Me dice todo el rato que "No such file or directory in... bla, bla". 
Entiendo que PHP no "ve" donde está el archivo pero no entiendo que hago mal 
(es dedir, porqué no lo ve) */ 
¡Gracias!
  #2 (permalink)  
Antiguo 12/10/2011, 09:24
 
Fecha de Ingreso: octubre-2007
Mensajes: 118
Antigüedad: 16 años, 5 meses
Puntos: 11
Respuesta: Error con variable e include

Si no me equivoco, es porque los include's y require_once's , deben de ir siempre al principio del script.
Prueba a poner el include, encima de eso.
  #3 (permalink)  
Antiguo 12/10/2011, 09:28
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Error con variable e include

verificaste que la ruta este bien?? hasle un echo a $raiz . "/menu/especial.php"; a ver si te da la ruta verdadera de tu aplicacion, sino, verifica si te sirve algo asi
Código PHP:
Ver original
  1. $path = realpath(dirname(__file__));
el unico problema es que te daria la carpeta del archivo actual y no se si seria tu carpeta actual, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #4 (permalink)  
Antiguo 12/10/2011, 09:29
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: Error con variable e include

Cita:
Iniciado por Agyk Ver Mensaje
Hola, pido disculpas porque soy consciente que es es una pregunta muy básica a ver si alguien me lo puede explicar porque no entiendo que hago mal (intuyo que es un problema de sintaxis) pero no detecto el error, me explico:

Código PHP:
// Tengo que    
$raiz $_SERVER['DOCUMENT_ROOT'];

// y quiero que un include me pille toda la ruta absoluta

include_once $raiz "/menu/especial.php";

/* Me dice todo el rato que "No such file or directory in... bla, bla". 
Entiendo que PHP no "ve" donde está el archivo pero no entiendo que hago mal 
(es dedir, porqué no lo ve) */ 
¡Gracias!
¿Si haces echo $raiz que información te muestra?
  #5 (permalink)  
Antiguo 12/10/2011, 09:41
 
Fecha de Ingreso: octubre-2007
Mensajes: 118
Antigüedad: 16 años, 5 meses
Puntos: 11
Respuesta: Error con variable e include

No había visto el la variable en el include, que empanamiento llevo hoy jeje.

Como dice el compañero de arriba, al hacer echo $raiz, mira a ver que te sale. ¿lo estas haciendo en local o bajo un servidor? Según leí hace tiempo en algunos servidores Windows,
$_SERVER['DOCUMENT_ROOT'], no funciona al utilizarlo con includes.
  #6 (permalink)  
Antiguo 12/10/2011, 10:04
Avatar de Agyk  
Fecha de Ingreso: septiembre-2011
Ubicación: Gerona
Mensajes: 14
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Error con variable e include

Gracias por las respuestas, he probado lo de ponerlo al principio de la página pero no me funciona: os amplío la información. Es en el servidor y es un linux.

Tengo que

Código PHP:
$raiz $_SERVER['DOCUMENT_ROOT']; 

// el echo a $raiz me muestra 
/home/public_html

// y el 
echo include_once $raiz "/menu/especial.php";

// me muestra la ruta entera sin problemas es decir: 
/home/public_html/menu/especial.php

// Es más, os confirmo que no me da  error si escribo:

include_once "/home/public_html/menu/especial.php";   

/* Pero si meto la variable ($raíz) es donde me dice que "No such file 
or directory" exactamente escribiendo esto: */

include_once $raiz "/menu/especial.php"
Intuyo que el error debe estar en la sintaxis pero no lo se ver.

¡Gracias por la paciencia!
  #7 (permalink)  
Antiguo 12/10/2011, 10:07
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: Error con variable e include

Cita:
Iniciado por Agyk Ver Mensaje
Gracias por las respuestas, he probado lo de ponerlo al principio de la página pero no me funciona: os amplío la información. Es en el servidor y es un linux.

Tengo que

Código PHP:
$raiz $_SERVER['DOCUMENT_ROOT']; 

// el echo a $raiz me muestra 
/home/public_html

// y el 
echo include_once $raiz "/menu/especial.php";

// me muestra la ruta entera sin problemas es decir: 
/home/public_html/menu/especial.php

// Es más, os confirmo que no me da  error si escribo:

include_once "/home/public_html/menu/especial.php";   

/* Pero si meto la variable ($raíz) es donde me dice que "No such file 
or directory" exactamente escribiendo esto: */

include_once $raiz "/menu/especial.php"
Intuyo que el error debe estar en la sintaxis pero no lo se ver.

¡Gracias por la paciencia!
¿Tu usuario es menu? Porque en ese path me parece que falta tu nombre de usuario del hosting.
  #8 (permalink)  
Antiguo 12/10/2011, 10:27
Avatar de Agyk  
Fecha de Ingreso: septiembre-2011
Ubicación: Gerona
Mensajes: 14
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Error con variable e include

El usuario es "arodriguez" pero no lo he puesto para no liaros más con la ruta tan larga. Os confirmo como os comentaba en el mensaje anterior que si hago el include_once sin el valor de la variable es decir (escribiendo toda la ruta)

Código PHP:
// Esto funciona sin problemas
include_once "/home/arodriguez/public_html/menu/especial.php"
Pero a la que le meto la variable en el include_once:

Código PHP:
// Esto me da el error No such file or directory"...

$raiz $_SERVER['DOCUMENT_ROOT'];

include_once 
$raiz "/menu/especial.php"
Que conste que el echo a la variable $raiz me muestra:
/home/arodriguez/public_html

Yo lo veo bien pero ya no se donde mirar. Gracias
  #9 (permalink)  
Antiguo 12/10/2011, 10:31
 
Fecha de Ingreso: octubre-2007
Mensajes: 118
Antigüedad: 16 años, 5 meses
Puntos: 11
Respuesta: Error con variable e include

Vale ya se donde viene el error.

si yo hago:
Código PHP:
include($_SERVER['DOCUMENT_ROOT'] . 'menu/especial.php'); 
el error es :
include (D:/Trabajo/wamp/www/menu/especial.php) no puede abrir bla bla...
Pero yo lo tengo en la carpeta prueba, te falta ahi la carpeta de tu trabajo.

Si hago
Código PHP:
$raiz $_SERVER['DOCUMENT_ROOT']; 
include(
$raiz 'prueba/menu/especial.php'); 
Me sale correcto , donde prueba es tu usuario en el servidor
  #10 (permalink)  
Antiguo 12/10/2011, 10:52
Avatar de Agyk  
Fecha de Ingreso: septiembre-2011
Ubicación: Gerona
Mensajes: 14
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Error con variable e include

Cierto. Con tanto copiar y pegar me he dado cuenta que omitia un directorio entre un ruta y la otra. Ya lo he reparado y está funcionando correctamente.

¡Mil gracias!
  #11 (permalink)  
Antiguo 12/10/2011, 11:07
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 18 años, 9 meses
Puntos: 36
Respuesta: Error con variable e include

Hola

Una buena forma es utilizar realpath como te comenta carlos_belisario. Yo siempre lo utilizo como hacen en Zend Framework:

// Define path to application directory
defined('APPLICATION_PATH')
|| define( 'APPLICATION_PATH', realpath(dirname(__FILE__)) );

Y esto lo defino en un archivo common.php que suelo incluir en la carpeta raíz del proyecto en el que estoy trabajando. El archivo common.php incluye muchas más cosas por eso casi siempre hago un include a este archivo en la mayoría de los scripts de la aplicación web.

Saludos.
  #12 (permalink)  
Antiguo 14/10/2011, 12:02
Avatar de Agyk  
Fecha de Ingreso: septiembre-2011
Ubicación: Gerona
Mensajes: 14
Antigüedad: 12 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Error con variable e include

Ok. Muchísimas gracias. He seguido vuestro consejo y después de leer y releer vuestras he empezado a utilizar el
Código PHP:
$path realpath(dirname(__file__)); 
De hecho tal y como comenta kyko's lo meto en un archivo (el mio lo llamo central.php) donde pongo todo lo que uso más frecuentemente y luego le hago includes a ese archivo.

¡Gracias a todos!

Etiquetas: include, variables
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 10:13.