Foros del Web » Programando para Internet » PHP »

problema con require()

Estas en el tema de problema con require() en el foro de PHP en Foros del Web. Hola amigos... necesito su ayuda urgente... porfavor ayudenme... La cosa va asi... tengo los siguientes archivos: iu_principal.php iu_administrador_portal.php iu_venta_mercaderia.php estos tres archivos tienen la siguiente ...
  #1 (permalink)  
Antiguo 31/12/2007, 09:35
 
Fecha de Ingreso: diciembre-2007
Mensajes: 9
Antigüedad: 16 años, 10 meses
Puntos: 0
problema con require()

Hola amigos... necesito su ayuda urgente... porfavor ayudenme...
La cosa va asi...

tengo los siguientes archivos:
iu_principal.php
iu_administrador_portal.php
iu_venta_mercaderia.php


estos tres archivos tienen la siguiente linea de codigo:
require("../gestion_sistema/cnt_gestion_sistema.php");

ahora, cnt_gestion_sistema.php tiene las siguientes lineas de codigo:
require_once("../gestion_informacion/ent_administrador.php"); //linea 3
require_once("menu.php"); //linea 4


el problema es que cuando se carga la pagina iu_venta_mercaderia.php me salta el siguiente error:

Warning: main(../gestion_informacion/ent_administrador.php) [function.main]: failed to open stream: No such file or directory in c:\AppServ\www\lib_emanuel\gestion_sistema\cnt_ges tion_sistema.php on line 3

Fatal error: main() [function.require]: Failed opening required '../gestion_informacion/ent_administrador.php' (include_path='.;C:\php5\pear') in c:\AppServ\www\lib_emanuel\gestion_sistema\cnt_ges tion_sistema.php on line 3


la verdad es que no entiendo por queeeeeeee pasa esto.... porfavor respondanme lo mas pronto posible... me estoy volviendo loko... no entiendo el error...
  #2 (permalink)  
Antiguo 31/12/2007, 11:37
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: problema con require()

el problema es que.. mmmmm cuando haces require dentro de require o include, toma por default la direccion donse esta el scriot actual, si tu estas en...

-include_1.php
....-include_2.php
........-include_3.php

y en include _3.php quieres incluir algo....... dentro de ese file a includ2_2.php
pero tu llamas en include_1.php... e incluyes a include3_php

pues ahi toma por default la direccion donde ejutas el ultimo include, osea aunk tu internamente definas las rutas, tomara este por ende donde estas llamando al ultimo include, marcandote los errores que mencionas arriba...........
solucion, declara una variable global que uses en toods tus includes, con la ruta absoluta de tu raiz....
asi todos los includes apuntaran al mismo lugar y no tendran problemas.


muchos scripts definen eso asi, si quieres tomar de forma dinamica el nombre de tu sitio o raizl lo puedes hacer con las variables que php proporciona.....
asi cuando traslades tu sistema a otro lado, siempre apuntara al mismo lugar...



yo por ejemplo tengo un script llamado
variables_globales.inc.php

dentro de este
Código PHP:
if (!defined('SISTEMA_DIR')) define('SISTEMA_DIR',dirname(__FILE__)); 
y ese fichero lo incluyo dentro de mis scripts para que tenga definida esa variable en mis archivos...

y por ejemplo en otro lado de mi sistema en otras carpetas hacia esto...


operaciones.php
Código PHP:
require_once("../../variables_globales.inc.php");
require_once(
SISTEMA_DIR."/scripts/conexion_sistema.inc.php"); 
primero incluia el archivo donde se contenia la variable declarada, y luego usaba esa variable que contenia siempre la direccion global de mi sistema..


jajajaja se puede hacer de muchas formas, jejejejee yo la hice asi, se puede hacer directamente, con $_SERVER[]...

HAY UNA TECNICA QUE VI EN OTRO LADO, DONDE SE PUEDE METER VARIABLES DE ENTORNO, OSEA DECLARAS LA DIRECCION DENTRO DE LAS VARIABLES DE ENTORNO Y DESPUES NADAMAS LA LLAMAS ASI $_ENV["variable"] eso es xido.... pero no recuerdo como, ejejee

espero te sirva... si no me dices..
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #3 (permalink)  
Antiguo 31/12/2007, 11:55
 
Fecha de Ingreso: diciembre-2007
Mensajes: 9
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: problema con require()

muchas gracias amigo... me salvaste de una... ahora si entiendo el problema.

La verdad que no sabia que se ejecutaba la inclusion desde donde se llamo... siempre pense que era desde donde estaba el archivo...

ahora estoy viendo como hacerlo directamente con $_SERVER[]... bueno, si me topo con problemas te aviso...

Muchas gracias... Dios te Bendiga...
  #4 (permalink)  
Antiguo 31/12/2007, 12:06
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: problema con require()

puedes usar esto...

Código PHP:
echo $_SERVER['DOCUMENT_ROOT'];
    echo
"<br>";
    echo 
__FILE__ 
para que veas a lo que me refiero.....

ve la diferencia de las 2. ten cuidado pues a veces causa problema entre / y \. saludos!!!
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
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 22:05.