Foros del Web » Programando para Internet » PHP »

redireccionar subiendo niveles

Estas en el tema de redireccionar subiendo niveles en el foro de PHP en Foros del Web. Hola. Necesito que al teminar de ejecutarse un script en php, se redireccione automáticamente a un archivo que está en una carpeta dos niveles mas ...
  #1 (permalink)  
Antiguo 06/10/2006, 12:19
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 19 años, 11 meses
Puntos: 2
redireccionar subiendo niveles

Hola.
Necesito que al teminar de ejecutarse un script en php, se redireccione automáticamente a un archivo que está en una carpeta dos niveles mas arriba que la pagina que redirige.
Es decir:

carpeta1/carpeta2/carpeta3/archivoQueRedirige.php

Redirige al archivo x.php que está en carpeta1/x.php

hasta el momento tengo esto pero no funciona, no sube niveles:

$folder=dirname($_SERVER['PHP_SELF']);
$carpeta = dirname($folder);
$URL=$carpeta.'/x.php?&action=1';

esto redirecciona al mismo nivel, probé con el ../ pero no funciona.

Gracias desde ya
  #2 (permalink)  
Antiguo 06/10/2006, 12:23
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
El ../ debería funcionar. Habría q ver cómo haces la redirección.

Imagina q estamos en la carpeta de la zona privada y kiero cerrar la sesión y redirigir al index principal q esta x encima

header ("Location: ../index.php");

Siempre me ha funcionado. Muestra el código a ver cómo haces esa redirección.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #3 (permalink)  
Antiguo 06/10/2006, 12:24
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Tal vez deberías utilizar algo como esto:

../../../x.php

O algo por el estilo sólo recuerda que ../ es sólo un nivel anterior.

O si capeta1 es la carpeta Padre de todos tus archivos podrías utilizar:

$DOCUMENT_ROOT/x.php o en su defecto $HTTP_SERVER_VARS['DOCUMENT_ROOT']/x.php;

Suerte
  #4 (permalink)  
Antiguo 06/10/2006, 12:28
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Cita:
Iniciado por Erikfrancisco Ver Mensaje
Tal vez deberías utilizar algo como esto:

../../../x.php

O algo por el estilo sólo recuerda que ../ es sólo un nivel anterior.

O si capeta1 es la carpeta Padre de todos tus archivos podrías utilizar:

$DOCUMENT_ROOT/x.php o en su defecto $HTTP_SERVER_VARS['DOCUMENT_ROOT']/x.php;

Suerte
$HTTP_SERVER_VARS está ya prácticamente en desuso. Mejor usar $_SERVER.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #5 (permalink)  
Antiguo 06/10/2006, 12:53
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 19 años, 11 meses
Puntos: 2
probé con esto:

$URL='/x.php;
header("Location: http://". $URL);

en la pagina http://server/carpeta0/carpeta1/carp...ueRedirige.php

pero me redirige a http://server/x.php
siendo que quiero que me lleve a http://server/carpeta0/x.php
  #6 (permalink)  
Antiguo 06/10/2006, 12:55
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Pues en:

$URL='/x.php;

Añadele carpeta0:

$URL='carpeta0/x.php';

Suerte
  #7 (permalink)  
Antiguo 06/10/2006, 12:58
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 19 años, 11 meses
Puntos: 2
Es que en futuro se va a migrar a otro servidor y la carpeta0 puede llamarse de otra forma, por eso quiero que me redirija sin importar el nombre de la carpeta
  #8 (permalink)  
Antiguo 06/10/2006, 13:01
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Pues crea una variable con el nombre de la carpeta y lo guardas (talvez donde guardas todos tus include y la mandas a llamar con la función include()). Luego le pasas esa variable a tu redirección:

include ("archivodondetieneslavariable.php");
$URL="$variable_de_carpeta/x.php";

Suerte
  #9 (permalink)  
Antiguo 06/10/2006, 13:04
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 19 años, 11 meses
Puntos: 2
Gracias, es buena esa, pero debería haber alguna forma que no sea incluyendo un archivo de parámetros.. digo..de pronto..me parece.

saludos
  #10 (permalink)  
Antiguo 06/10/2006, 13:09
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 19 años, 11 meses
Puntos: 2
A ver, esto me sube un nivel, me faltaria subir uno mas:

$folder=dirname($_SERVER['PHP_SELF']);
$carpeta = dirname($folder);
$URL=$carpeta.'/x.php';
header("Location: http://" . $_SERVER['HTTP_HOST'] . $URL);
  #11 (permalink)  
Antiguo 06/10/2006, 13:10
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Y si mejor pruebas con esto:

header("Location: $DOCUMENT_ROOT/x.php");
  #12 (permalink)  
Antiguo 06/10/2006, 13:29
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 19 años, 11 meses
Puntos: 2
mmm. no
echo $_SERVER['DOCUMENT_ROOT']."/x.php";

me imprime esto:
/usr/local/apache2/htdocs/x.php

Última edición por moron; 06/10/2006 a las 13:36
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:02.