Foros del Web » Programando para Internet » PHP »

Sobre includes en rutas absolutas

Estas en el tema de Sobre includes en rutas absolutas en el foro de PHP en Foros del Web. Hola a todos; Este tema lo traté hace un tiempo en este mismo foro, pero no me quedó muy claro así que me permito el ...
  #1 (permalink)  
Antiguo 03/11/2003, 13:45
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 10 meses
Puntos: 0
Sobre includes en rutas absolutas

Hola a todos;

Este tema lo traté hace un tiempo en este mismo foro, pero no me quedó muy claro así que me permito el lujo de retomarlo:

Se trata de los includes y de qué es mejor si ponerlos con rutas absolutas o relativas.

Al parecer si haces un include de un archivo, y a su vez ese archivo hace un include a otro, se debe tomar como path la ruta del primer php (index.php) y no la del include que incluye al otro archivo. Osease, yo llamo a un include que está en la carpeta "archivos". si este include llama a su vez a otro include, esta ruta debe ser ../archivos/index.inc.php en vez de lo que sería lógico poner index.inc.php.

A parte de este tema, me han dicho por ahí que es mucho mejor usar rutas absolutas, y me pregunto porqué cuando todos los enlaces url se ponen relativos y va de perlas.
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #2 (permalink)  
Antiguo 03/11/2003, 14:20
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Yo te aconsejo tomar el camino del medio. En un fichero defines constantes que definen las rutas absolutas de los directorios principales de tu aplicacion web. Incluyes ese fichero en todos tus ficheros principales. Y luego el resto de ficheros a incluir los incluyes con esas constantes.

Por ejemplo, tenemos paths.inc.php:
Código PHP:
<?php
// definimos la raiz de la aplicacion web
// normalmente coincide con DOCUMENT_ROOT, pero en otros casos puede ser cualquier otro
define("RAIZ"$_SERVER['DOCUMENT_ROOT']);  // si no finaliza en / se le añade
// definimos el resto de directorios de la aplicacion
define("UPLOAD"RAIZ."upload/");
define("OCULTO"RAIZ."../oculto/");  // seria mejor sin el .., poniendo el path directamente
define("INCLUDE"RAIZ."includes/");
// y asi con todos
?>
Luego en cada .php se hace:
Código PHP:
<?php
include("/ruta/a/paths.inc.php");  // en este caso sera absoluto o relativo
// pero el resto usa las constantes
include(INCLUDE."fich.inc.php");

// como las contantes no son solo para los includes podemos hacer
move_uploaded_file($fichero,UPLOAD.$nombre_fichero);
?>
¿Ventajas? Podemos adaptar la estructura de directorios con solo editar un fichero. Solo tenemos que preocuparnos de incluir bien paths.inc.php.

Y ademas de paths de los ficheros, tambien puedes usar constantes para los directorios de la URL.

Saludos.

PD: Los enlaces de URL relativos no van siempre de perlas.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 03/11/2003, 14:34
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
una pregunta, es para agarrar la ruta absoluta del servidor? o de la página?
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:27.