Ver Mensaje Individual
  #12 (permalink)  
Antiguo 12/06/2008, 12:03
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Problema con require('dbconfig.php') en clase MySQLConnect

parcialmente mal...

DOCUMENT_ROOT entrega dos versiones... basadas en directorios y sistema operativo

en Windows.... regresa C:\EasyPHP\www -por ejemplo
en *NIX... regresa /etc/var/www -por ejemplo

en ninguno de los casos devuelve el nombre del servidor, para eso esta SERVER_NAME

solo que aqui si hay una cosa mas extraña, y depende mucho de la configuracion del servidor....

a veces, en sistema *nix solo devuelve una / en ves de la ruta completa... y eso es raro, ya que asi no sirve....

en mi caso, ya que uso Windows de prueba y subo a mi HOST *nix (cosa que también me altera el DOCUMENT_ROOT) ya que la ruta real es... /foo/bar/www (por ejemplo) y me de la / sola.... que mal....

tuve que ingeniármelas para averiguar la verdadera raíz de ambos sistemas, sin tener que cambiar el código cada ves.... e hice esto (son tan solo dos constantes)

index.php
Código PHP:
<?php
define
('BASE_DIR'// Ruta real de la aplicacion (aqui)
       
dirname(__FILE__)
    );

define('BASE_URL'// URL de la aplicacion (aqui)
            
str_replace('\\''/'// Reparamos!
        
dirname($_SERVER['SCRIPT_NAME'])
    ));
?>
siempre y cuando, todo se incluya desde el index.php funciona... sino, pueden intentarlo... suerte!

PDTA: al menos, a mi si me funciona y esto, no lo he modificado desde que lo pensé...


BASE_DIR nos devuelve la ruta completa basada en el script actual... la real
BASE_URL nos devuelve la ruta relativa basada en la URL actual...

osea, si me script esta en... C:\EasyPHP\www\www\foo\bar\un.php

BASE_DIR devuelve C:\EasyPHP\www\foo\bar (sistema de archivos)
BASE_URL devuelve solo foo/bar (lo que es la URL)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 12/06/2008 a las 12:08