Foros del Web » Programando para Internet » PHP »

PHP OO Rutas absolutas en local - error

Estas en el tema de Rutas absolutas en local - error en el foro de PHP en Foros del Web. Buenas phperos, arrastro un problema desde hace tiempo y ya ha llegado un punto en el que debo solucionarlo para poder avanzar. Al cargar con ...
  #1 (permalink)  
Antiguo 03/09/2013, 13:21
 
Fecha de Ingreso: febrero-2003
Mensajes: 39
Antigüedad: 21 años, 1 mes
Puntos: 1
Rutas absolutas en local - error

Buenas phperos, arrastro un problema desde hace tiempo y ya ha llegado un punto en el que debo solucionarlo para poder avanzar.
Al cargar con includes los css, js, clases, img... usaba rutas relativas, pero necesito usar rutas absolutas, y en local (windows + xampp) no me funcionan. Las rutas las pone bien, si las abres en navegador se ven los ficheros, pero las webs no los cargan.

Trato de definir la raíz de la web como constante, en este caso:
Código PHP:
define('_ROOT_''c:/xampp/htdocs/web/'); 
Pero nanai, no funciona. Y también he probado con backslashes. ¿Puede ser cosa de virtual host? No lo tengo configurado, ni sé como hacerlo.
  #2 (permalink)  
Antiguo 03/09/2013, 15:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Rutas absolutas en local - error

Los archivos js, imágenes y css no los puedes cargar usando C:\ eso es incorrecto, una ruta absoluta y relativa son diferentes a urls absolutas y relativas.

Los archivos que lees por web (css, imágenes, js) tienen que tener una ruta absoluta (URL Absoluto). Las clases en PHP e includes, esos sí pueden tener la ruta absoluta.

Saludos.
  #3 (permalink)  
Antiguo 03/09/2013, 16:29
 
Fecha de Ingreso: febrero-2003
Mensajes: 39
Antigüedad: 21 años, 1 mes
Puntos: 1
Respuesta: Rutas absolutas en local - error

Vaya, así que era eso. No lo sabía. ¿Y como podría pillar esa ruta absoluta, no la url absoluta?
Tengo el config.inc.php un nivel encima del raíz, la carpeta web_folder, donde está el index.php. ¿Cómo hago referencia a esa carpeta desde el config.inc.php?
Con: define('_ROOT_', 'web_folder/') no funciona. Al cargar los css, por ejemplo, en el index, no funciona:

Código PHP:
require('../config.inc.php');
include(
_ROOT_.'css/estilos.css'); 
Estp no funciona. Failed to open stream.
  #4 (permalink)  
Antiguo 03/09/2013, 16:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Rutas absolutas en local - error

La variable $_SERVER['DOCUMENT_ROOT'] contiene la raíz del sitio, revisa eso.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 06/09/2013, 13:17
 
Fecha de Ingreso: febrero-2003
Mensajes: 39
Antigüedad: 21 años, 1 mes
Puntos: 1
Respuesta: Rutas absolutas en local - error

Al final apañé el config así:

Para los includes de css,img,js:
Código PHP:
$inc 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
define('_CSS_'$inc.'/css/');
define('_JS_'$inc.'/js/'); 
Para los includes de clases, html...
Código PHP:
$root$_SERVER['DOCUMENT_ROOT'].'/web';
define('_VIEWS_'$root.'/views/');
define('_CLASES_'$root.'/clases/'); 
¿No hay alguna forma de unificarlo? Me funciona, pero lo encuentro raro.
  #6 (permalink)  
Antiguo 06/09/2013, 13:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Rutas absolutas en local - error

¿Unificarlo en qué sentido?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 06/09/2013, 18:14
 
Fecha de Ingreso: febrero-2003
Mensajes: 39
Antigüedad: 21 años, 1 mes
Puntos: 1
Respuesta: Rutas absolutas en local - error

Pues sacar un root común para todo, no uno diferente para los includes, otro para el front y otro para el back.

Código PHP:
$inc 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']); 
$root$_SERVER['DOCUMENT_ROOT'].'/web'
$back$_SERVER['DOCUMENT_ROOT'].'/web/back'
Esto, pero con una misma función. ¿Cómo lo hacéis vosotros? No uso frameworks.
  #8 (permalink)  
Antiguo 06/09/2013, 19:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Rutas absolutas en local - error

Es que no pueden ser lo mismo, son ubicaciones distintas, por eso no puedes resolver todo-en-uno.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 07/09/2013, 08:26
 
Fecha de Ingreso: febrero-2003
Mensajes: 39
Antigüedad: 21 años, 1 mes
Puntos: 1
De acuerdo Respuesta: Rutas absolutas en local - error

Gracias, pues entonces seguiré con esto mientras funcione.

Etiquetas: includes, 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:19.