Foros del Web » Programando para Internet » PHP »

Constantes en rutas absolutas

Estas en el tema de Constantes en rutas absolutas en el foro de PHP en Foros del Web. Amigos, les hago la siguiente consulta. Tengo una aplicacion modular en php, o sea que siempre se ingresa a la aplicacion desde 'index.php'. Quiero que ...
  #1 (permalink)  
Antiguo 05/08/2009, 07:08
 
Fecha de Ingreso: abril-2007
Mensajes: 33
Antigüedad: 17 años
Puntos: 0
Constantes en rutas absolutas

Amigos, les hago la siguiente consulta.

Tengo una aplicacion modular en php, o sea que siempre se ingresa a la aplicacion desde 'index.php'.

Quiero que los links de la aplicacion sean rutas absolutas por lo tanto en el index hago:
Código PHP:
defined('APPLICATION_PATH')or define('APPLICATION_PATH',dirname__FILE__)); 
El problema que al agregar 'APPLICATION_PATH' a las rutas de los links, en el servidor, el valor es:

/ home / public_html / misitio / desarrollo

Obvio que no me sirve para incluir en un link.
Probe con
Código PHP:
dirname($_SERVER['DOCUMENT_ROOT']); 
Y tambien la ruta comienza en la raiz del sitio.

Que constante tipo defined(...) debiera crear en el servidor para crear la constante: misitio.com y poder crear las rutas absolutas.
un saludo.
  #2 (permalink)  
Antiguo 05/08/2009, 08:58
 
Fecha de Ingreso: febrero-2006
Mensajes: 134
Antigüedad: 18 años, 2 meses
Puntos: 10
Respuesta: Constantes en rutas absolutas

dirname($path) devuelve el nombre del directorio físico a la ruta introducida $path.

Lo que tú buscas es algo más bien como
Código PHP:
$protocol = @$_SERVER['SSL'] ? 'https://' 'http://';
$servidor $_SERVER['SERVER_NAME'];
$port = (@$_SERVER['SSL'] && $_SERVER['SERVER_PORT'] != 443) || (!@$_SERVER['SSL'] && $_SERVER['SERVER_PORT'] != 80) ? ':'.$_SERVER['SERVER_PORT'] : '';
$ruta dirname($_SERVER['SCRIPT_NAME']);

define('APPLICATION_URL'$protocol.$servidor.$port.$ruta.'/index.php'); 
lo que en una única linea (para hacer más breve el código del define) quedaría algo como:

define('APPLICATION_URL', 'http'.(@$_SERVER['SSL'] ? 's':'').'://'.$_SERVER['SERVER_NAME'].((@$_SERVER['SSL'] && $_SERVER['SERVER_PORT'] != 443) || (!@$_SERVER['SSL'] && $_SERVER['SERVER_PORT'] != 80) ? ':'.$_SERVER['SERVER_PORT'] : '').dirname($_SERVER['SCRIPT_NAME']).'/index.php');

Sencillo, no?
:D
__________________
Si te ha gustado lo que he dicho, puedes darme algún punto de reputación, que no te cuesta nada ^_^.

Di no a los juicios de valor!
  #3 (permalink)  
Antiguo 05/08/2009, 16:34
 
Fecha de Ingreso: febrero-2009
Mensajes: 218
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: Constantes en rutas absolutas

Fijate si esto te puede servir:
Código PHP:
$dir basename(dirname(__FILE__)); 
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 11:22.