Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas con rutas relativas

Estas en el tema de Problemas con rutas relativas en el foro de PHP en Foros del Web. Hola. Tengo este archivo: index.php ====== Código PHP: <?php      include( 'control/indexControl.php' ); ?> control/indexControl.php ========== Código PHP: <?php      require ( 'include/config.php' );     echo  APP_BASEDIR ...
  #1 (permalink)  
Antiguo 19/04/2016, 16:50
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Problemas con rutas relativas

Hola.
Tengo este archivo:
index.php
======
Código PHP:
<?php
    
include('control/indexControl.php');
?>
control/indexControl.php
==========
Código PHP:
<?php
    
require ('include/config.php');
    echo 
APP_BASEDIR;
    echo 
'<br/>';
    echo 
SMARTY_BASEFILE;
?>
include/config.php
======
Código PHP:
<?php
define
("APP_BASEDIR"dirname(__FILE__));
define('SMARTY_BASEFILE'APP_BASEDIR '/lib/Smarty/Smarty.class.php');
?>
Código HTML:
C:\www\proyecto\include
C:\www\proyecto\include/lib/Smarty/Smarty.class.php
Cómo hago para que no considere la carpeta include? o en el caso de SMARTY_BASEFILE por qué considera include
O me sugieren cambiar el config.php?
__________________
Todos somos iguales. NO! a la violencia de género.
  #2 (permalink)  
Antiguo 19/04/2016, 17:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con rutas relativas

¿Te refieres a esto?
Cita:
C:\www\proyecto\include
C:\www\proyecto\include/lib/Smarty/Smarty.class.php
Puedes usar dirname() tantas veces sea necesario para que subas de nivel, en tu caso:
Código PHP:
Ver original
  1. define("APP_BASEDIR", dirname(dirname(__FILE__)));
  2.  
  3. echo APP_BASEDIR; // C:\www\proyecto

Te devuelve "include" porque dirname(__FILE__) lo ejecutas en el script include/config.php, y es obvio que el directorio se llama include.

Jamás te devolverá el directorio raíz del sitio, que en caso de ser necesario, lo puedes leer usando $_SERVER['DOCUMENT_ROOT'] y nada más.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/04/2016, 17:16
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Problemas con rutas relativas

A parte de lo que te indico el compañero muy acertadamente.

respondiendo tu pregunta

Cita:
o en el caso de SMARTY_BASEFILE por qué considera include
El hecho de que te muestre el include en ambos casos es que el valor de una constante no varía a lo largo del script, de hay su nombre.

Es decir una vez ha sido definida, su valor se va ha mantener a lo largo del Script.

Por lo que APP_BASEDIR simple va a tener el mismo valor dentro del Script.
__________________
Unset($vida['malRollo']);
  #4 (permalink)  
Antiguo 20/04/2016, 09:22
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Respuesta: Problemas con rutas relativas

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Te refieres a esto?


Puedes usar dirname() tantas veces sea necesario para que subas de nivel, en tu caso:
Código PHP:
Ver original
  1. define("APP_BASEDIR", dirname(dirname(__FILE__)));
  2.  
  3. echo APP_BASEDIR; // C:\www\proyecto

Te devuelve "include" porque dirname(__FILE__) lo ejecutas en el script include/config.php, y es obvio que el directorio se llama include.

Jamás te devolverá el directorio raíz del sitio, que en caso de ser necesario, lo puedes leer usando $_SERVER['DOCUMENT_ROOT'] y nada más.
Y para tener el proyecto en unhosting puedo utilizar cualquiera de las dos formas?
__________________
Todos somos iguales. NO! a la violencia de género.
  #5 (permalink)  
Antiguo 20/04/2016, 09:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con rutas relativas

Cita:
Iniciado por bandolera Ver Mensaje
Y para tener el proyecto en unhosting puedo utilizar cualquiera de las dos formas?
Claro, no hay diferencias.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: relativas, 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 23:28.