Foros del Web » Programando para Internet » PHP »

Cambio de ruta absoluta a relativa

Estas en el tema de Cambio de ruta absoluta a relativa en el foro de PHP en Foros del Web. Hola. Tengo un archivo conexion.php que tiene lo que necesito para la conexion a mi base de datos y lo solía requerir desde otro archivo ...
  #1 (permalink)  
Antiguo 23/08/2005, 12:45
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 20 años, 4 meses
Puntos: 4
Cambio de ruta absoluta a relativa

Hola.

Tengo un archivo conexion.php que tiene lo que necesito para la conexion a mi base de datos y lo solía requerir desde otro archivo que necesite conexion a la BdD asi:

require("_php/conexion.php"); //-- por ejemplo o,
require("../../conexion.php"); //-- con otra ruta

Como cada vez que quiero hacerlo me tengo que fijar en la ruta que tiene quise hacer un estandar asi:

$ruta = "http://".$_SERVER['HTTP_HOST'] . "_php/");
//-- igual a http://localhost/_php/

y entonces hacer

requiere("http://".$_SERVER['HTTP_HOST'] . "_php/conexion.php"); desde cuanquier lado.

No me da error y lo agarra bien pero cuando trato de usar una funcion del archivo conexion.php me dice que no existe. Esto no se puede hacer??? o hay alguna funcion que pasandole una ruta absoluta y la carpeta actual me devuelve la ruta relativa (../ - ../../../)
  #2 (permalink)  
Antiguo 23/08/2005, 13:01
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 18 años, 8 meses
Puntos: 0
Holas.

No puedes usar la funcion require de esa forma (http://lo que sea) no funcionará ni activando allow_url_fopen si no recuerdo mal.

Yo me e diseñado un código que comprueba en que carpeta del servidor estás y te devuelve los '../' exactos para llegar para llegar al directorio principal(donde está el config).

Te e dado una idea...intenta hacerte un código como el que te he dicho(que mejor que hacerselo uno mismo xD) y si ves que te desesperas porque no te sale entonces te paso el mio adaptado a tu site.

Saludos y ánimo, que es muy facilito ;)
  #3 (permalink)  
Antiguo 23/08/2005, 13:11
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Prueba usando $_SERVER['DOCUMENT_ROOT']:

require($_SERVER['DOCUMENT_ROOT'] . "/_php/conexion.php");

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #4 (permalink)  
Antiguo 23/08/2005, 13:27
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 18 años, 8 meses
Puntos: 0
Holas.

Si tienes la carpeta que contiene el config.php en el directorio raiz de la web sin duda hazlo como te dice xknown. Si no pues dilo :)

Saludos ;)
  #5 (permalink)  
Antiguo 23/08/2005, 13:56
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 20 años, 4 meses
Puntos: 4
Te parece que esto me serviría o me falta algo? Lo pondria donde quiero recuperar la ruta relativa


function rutaAbsToRel($rutaAbs)
{
$rutaAbs = dirname($rutaAbs) . "/";
$rutaAbs = substr($rutaAbs, 4, strlen($rutaAbs));
$cantidadBarras = "";

for ($i=0; $i<strlen($rutaAbs); $i++)
{
if (substr($rutaAbs, $i, 1) == "/")
{
$rutaRel .= "../";
}
}

echo $rutaRel .= "_php";
}

rutaAbsToRel($_SERVER['SCRIPT_NAME']);
  #6 (permalink)  
Antiguo 23/08/2005, 14:08
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 20 años, 4 meses
Puntos: 4
Logicamente si lo meto en un archivo externo tendria que requerir ese archivo de la manera normal para poder usar la funcion jeje.

O sino tendria que copiar el codigo simpre en cada pagina qua quiera utilizarlo.

Que te parece que sería mejor?
  #7 (permalink)  
Antiguo 23/08/2005, 14:14
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 18 años, 8 meses
Puntos: 0
Holas.

¿Lo has probado?

Yo no lo he echo, pero si tu lo has echo y funciona pues claro que vale xD.

Saludos ;)
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 05:44.