Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Duda con rutas en PHP !!!

Estas en el tema de Duda con rutas en PHP !!! en el foro de PHP en Foros del Web. Buen día, tengo un problema que creo que es fácil de resolver pero ya tope Tengo la siguiente estructura de directorios Cita: IT index.php menu.php ...
  #1 (permalink)  
Antiguo 24/07/2018, 11:58
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Duda con rutas en PHP !!!

Buen día, tengo un problema que creo que es fácil de resolver pero ya tope

Tengo la siguiente estructura de directorios
Cita:
IT
index.php
menu.php
[USUARIOS]
--- Varias Opciones
[EQUIPOS]
--- Varias Opciones
[ADMINISTRACION]
--- Varias Opciones
Actualmente, en cada [carpeta] pongo el menu.php para tener las opciones de ese modulo, pero ahora quiero hacer un solo menú (en la raíz de cada departamento, en este caso IT) y llamarlo en todos los subdirectorios.

Ya tengo el menú funcionable, y lo que quiero hacer es manejar todo con rutas definidas.
Por ejemplo, ahorita si estoy en la carpeta usuarios y quiero ir a equipos desde acá, en el menú he puesto

Código HTML:
Ver original
  1. <li><a href="http://www.forosdelweb.com/f18/EQUIPOS/EQUIPO">AGREGAR</a></li>

Que hace esto ? independiente de donde este (carpeta de primer nivel) sube un directorio y se mete a EQUIPOS/EQUIPO Funciona, pero no me gusta, a parte que si en usuario hago mas módulos, tendria que agregarle otro ../ y con eso el menu colapsa

Que he intentado?

En el menu.php de la raiz hice esto

Código PHP:
Ver original
  1. define('SLASH', DIRECTORY_SEPARATOR);
  2. define('DIR_EQUIPOS', SLASH.'EQUIPOS'.SLASH); // Ya estoy en IT, solo me debo meter a la carpeta EQUIPOS

Pero cuando pongo en la opcion

Código HTML:
Ver original
  1. <li><a href="<?php DIR_EQUIPOS.'EQUIPO'; ?>">AGREGAR</a></li>

No pasa nada y si pongo, con echo

Código HTML:
Ver original
  1. <li><a href="<?php echo DIR_EQUIPOS.'EQUIPO'; ?>">AGREGAR</a></li>

Me lleva a http://localhost:8080/EQUIPOS/EQUIPO donde no hay nada de nada y da error

Lo que quiero es, a partir de donde esta el menú, se vean las rutas de manera correcta, sin importar cuantas carpetas tenga o cuantos subdirectorios abajo yo haga un include del menú

Me dan una luz ??

PD: Busque y no encontré algo que me funcione a mi, si hay varios temas de rutas estáticas, dinámicas y definidas, pero algo que realmente me sirviera, no lo encontré
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #2 (permalink)  
Antiguo 24/07/2018, 12:42
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Duda con rutas en PHP !!!

DIR_EQUIPOS ya tiene la ruta absoluta a la carpeta que necesitas, entonces, no es necesario concatenar 'EQUIPO' al final del enlace.

Código PHP:
Ver original
  1. <li><a href="<?php echo DIR_EQUIPOS; ?>">AGREGAR</a></li>
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 24/07/2018, 13:12
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Duda con rutas en PHP !!!

Cita:
Iniciado por Triby Ver Mensaje
DIR_EQUIPOS ya tiene la ruta absoluta a la carpeta que necesitas, entonces, no es necesario concatenar 'EQUIPO' al final del enlace.

Código PHP:
Ver original
  1. <li><a href="<?php echo DIR_EQUIPOS; ?>">AGREGAR</a></li>
Lo que pasa es que la ruta es EQUIPOS/EQUIPO.php pero yo no uso el .php porque no me gusta ver eso en la url.

Igual si le quito la palabra EQUIPO me lleva a localhosto:8080/EQUIPOS, es como que se va a la raíz del servidor
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #4 (permalink)  
Antiguo 24/07/2018, 16:26
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: Duda con rutas en PHP !!!

en un <a href="/loque_sea.php"> si la URL empieza por el SLASH, significa que inicia en la RUTA de la RAIZ de la web
recuerda
<a href="/loque_sea.php">
y
<a href="loque_sea.php">

no hacen lo mismo, excepto en ciertos casos
  #5 (permalink)  
Antiguo 25/07/2018, 20:13
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Duda con rutas en PHP !!!

Agrega una nueva constante, con la ruta absoluta a la carpeta de tu proyecto:

Código PHP:
Ver original
  1. define('SLASH', DIRECTORY_SEPARATOR);
  2.     // Suponiendo que accedes al proyecto desde http://localhost:8080/pruebas/proyecto1
  3.     define('DIR_PROYECTO', SLASH . ' pruebas' . SLASH . 'proyecto1' . SLASH);
  4.     // Agregas la raíz al directorio equipos
  5.     define('DIR_EQUIPOS', DIR_PROYECTO . 'EQUIPOS' . SLASH);

El resultado de la constante sería: /pruebas/proyecto1/ y, como ya te explicó tuadmin, la primera diagonal hace referencia a la raíz del sitio, es decir, localhost:8080
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 07/08/2018, 15:43
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Duda con rutas en PHP !!!

Cita:
Iniciado por tuadmin Ver Mensaje
en un <a href="/loque_sea.php"> si la URL empieza por el SLASH, significa que inicia en la RUTA de la RAIZ de la web
recuerda
<a href="/loque_sea.php">
y
<a href="loque_sea.php">

no hacen lo mismo, excepto en ciertos casos
Buen dato, super anotado y comprobado

Cita:
Iniciado por Triby Ver Mensaje
Agrega una nueva constante, con la ruta absoluta a la carpeta de tu proyecto:

Código PHP:
Ver original
  1. define('SLASH', DIRECTORY_SEPARATOR);
  2.     // Suponiendo que accedes al proyecto desde http://localhost:8080/pruebas/proyecto1
  3.     define('DIR_PROYECTO', SLASH . ' pruebas' . SLASH . 'proyecto1' . SLASH);
  4.     // Agregas la raíz al directorio equipos
  5.     define('DIR_EQUIPOS', DIR_PROYECTO . 'EQUIPOS' . SLASH);

El resultado de la constante sería: /pruebas/proyecto1/ y, como ya te explicó tuadmin, la primera diagonal hace referencia a la raíz del sitio, es decir, localhost:8080
Gracias, en efecto solvento la duda

Gracias a ambos.
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.

Etiquetas: funcion, rutas
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 09:20.