FAQ
Hola, en teoria si hago un include y lo pongo así:

<?php include("/menu.php") ?>

estoy diciéndole al sistema que el fichero menu.php está justo en la raiz
del servidor. De este modo aunque haga un include de dicho fichero desde un
archivo situado en las más profundas carpetas de la estructura de la web que
estemos tratando, no va a haber ningun problema y el sistema siempre sabrá
donde econtrar dicho fichero, o sea en la raiz del servidor.

De este modo evitamos engorrosas e ineficaces variaciones si lo ponemos
mediante rutas relativas, como aquí al llamar a un javascript:
....... src="../../../eines/menu/NavMenuBo.js">

La cuestión es que esto no me funciona (no encuentra el fichero) y que
deduzco que debe de tener ir acompañado de alguna configuración especial de
php, a retocar mediante php.ini o mediante .htaccess, aunque tampoco estoy
segura de ello. pero por mucho que leo y busco no encuentro nada que lo
aclare definitivamente.

Alguien tiene la solución a algo que debe de ser muy obvio pero que hoy, con
los nervios de los reyes a punto de llegar, :-) no consigo averiguar.

Mil grácias a todos y que tengais muy buenos reyes!!

Núria

Search Discussions

  • Carlos Medina at Jan 5, 2009 at 9:52 pm

    Núria schrieb:
    Hola, en teoria si hago un include y lo pongo así:

    <?php include("/menu.php") ?>

    estoy diciéndole al sistema que el fichero menu.php está justo en la raiz
    del servidor. De este modo aunque haga un include de dicho fichero desde un
    archivo situado en las más profundas carpetas de la estructura de la web que
    estemos tratando, no va a haber ningun problema y el sistema siempre sabrá
    donde econtrar dicho fichero, o sea en la raiz del servidor.

    De este modo evitamos engorrosas e ineficaces variaciones si lo ponemos
    mediante rutas relativas, como aquí al llamar a un javascript:
    ....... src="../../../eines/menu/NavMenuBo.js">

    La cuestión es que esto no me funciona (no encuentra el fichero) y que
    deduzco que debe de tener ir acompañado de alguna configuración especial de
    php, a retocar mediante php.ini o mediante .htaccess, aunque tampoco estoy
    segura de ello. pero por mucho que leo y busco no encuentro nada que lo
    aclare definitivamente.

    Alguien tiene la solución a algo que debe de ser muy obvio pero que hoy, con
    los nervios de los reyes a punto de llegar, :-) no consigo averiguar.

    Mil grácias a todos y que tengais muy buenos reyes!!

    Núria
    Hola Núria,
    pues mira en php.net ahi esta la informacion que necesitas!. Por lo
    general PHP mira primero en el include path. Este puedes verlo con echo
    get_include_path();.

    Para anadir una ruta a este path puedes hacer lo siguente:

    Encontrandote en tu web root puedes anadir el codigo

    define('MI_RUTA', dirname( __FILE__ ) );

    set_include_path(get_include_path().PATH_SEPARATOR. MI_RUTA );

    Si por ejemplo ti webroot esta situado en "/opt/lampp/htdocs" y quieres
    una clase situada en "/opt/lampp/htdocs/class/" entonces lo que tendrias
    que hacer es

    include 'class/miclasse.php';

    Espero te sirva

    Carlos Medina
  • Raidel del Peso at Jan 6, 2009 at 12:20 am
    Hola a todos:

    otra idea de lo que puede estar pasando es que cuando especificas /menu.php
    estas especificando que el archivo esta en la raiz real del servidor, en un
    hosting compartido de unix (linux, bsd, etc) generalmente no puedes poner
    nada en ese sitio, si sabes directorio padre (usualmente estan en algo como:
    /home/nombre_de_usuario/nombre_del_sitio) que en mi caso seria:
    /home/katsuke/www/ metemos el menu.php dentro de la carpeta www

    y el include quedaria asi ahora:

    <?php include("/home/katsuke/www/menu.php") ?>

    pienso que el problema que tienes es que no estas segura de cual es tu path
    (camino) a tu directorio web, puedes averiguar cual es usando un pequeño
    script:

    <?PHP
    phpinfo();

    ?>

    (asegurate de borrarlo luego de que lo uses, hakers pueden usar toda la
    informacion que ese archivo generaria)

    DOCUMENT_ROOT: /xxxxx/xxxxxx/xxxxxxxx/xxxxx/

    es lo k tienes k buscar, ese es tu directorio padre para tu web

    ahora, la idea de carlos es mucho mas sencilla, aun asi todo depende de para
    que lo usas, si es algo que usaras entre aplicaciones es preferible usar la
    ruta completa, si es algo solo para 1 aplicacion pues el include_path te
    servira

    Saludos, Raidel


    2009/1/5 Carlos Medina <info@simply-networks.de>
    Núria schrieb:

    Hola, en teoria si hago un include y lo pongo así:
    <?php include("/menu.php") ?>

    estoy diciéndole al sistema que el fichero menu.php está justo en la raiz
    del servidor. De este modo aunque haga un include de dicho fichero desde
    un
    archivo situado en las más profundas carpetas de la estructura de la web
    que
    estemos tratando, no va a haber ningun problema y el sistema siempre sabrá
    donde econtrar dicho fichero, o sea en la raiz del servidor.

    De este modo evitamos engorrosas e ineficaces variaciones si lo ponemos
    mediante rutas relativas, como aquí al llamar a un javascript:
    ....... src="../../../eines/menu/NavMenuBo.js">

    La cuestión es que esto no me funciona (no encuentra el fichero) y que
    deduzco que debe de tener ir acompañado de alguna configuración especial
    de
    php, a retocar mediante php.ini o mediante .htaccess, aunque tampoco estoy
    segura de ello. pero por mucho que leo y busco no encuentro nada que lo
    aclare definitivamente.

    Alguien tiene la solución a algo que debe de ser muy obvio pero que hoy,
    con
    los nervios de los reyes a punto de llegar, :-) no consigo averiguar.

    Mil grácias a todos y que tengais muy buenos reyes!!

    Núria

    Hola Núria,
    pues mira en php.net ahi esta la informacion que necesitas!. Por lo
    general PHP mira primero en el include path. Este puedes verlo con echo
    get_include_path();.

    Para anadir una ruta a este path puedes hacer lo siguente:

    Encontrandote en tu web root puedes anadir el codigo

    define('MI_RUTA', dirname( __FILE__ ) );

    set_include_path(get_include_path().PATH_SEPARATOR. MI_RUTA );

    Si por ejemplo ti webroot esta situado en "/opt/lampp/htdocs" y quieres una
    clase situada en "/opt/lampp/htdocs/class/" entonces lo que tendrias que
    hacer es

    include 'class/miclasse.php';

    Espero te sirva

    Carlos Medina





    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php
  • Gerardo Benitez at Jan 6, 2009 at 12:05 pm
    Si lo pones asi, significa que tu archivo esta en el root del server, o sea
    /

    Si lo queres tener disponible para todos ponelo en el path, con la funcion
    set_include_path, en el manual de php
    http://www.php.net/manual/en/function.set-include-path.php



    2009/1/5 Núria <nuriarai@gmail.com>
    Hola, en teoria si hago un include y lo pongo así:

    <?php include("/menu.php") ?>

    estoy diciéndole al sistema que el fichero menu.php está justo en la raiz
    del servidor. De este modo aunque haga un include de dicho fichero desde un
    archivo situado en las más profundas carpetas de la estructura de la web
    que
    estemos tratando, no va a haber ningun problema y el sistema siempre sabrá
    donde econtrar dicho fichero, o sea en la raiz del servidor.

    De este modo evitamos engorrosas e ineficaces variaciones si lo ponemos
    mediante rutas relativas, como aquí al llamar a un javascript:
    ....... src="../../../eines/menu/NavMenuBo.js">

    La cuestión es que esto no me funciona (no encuentra el fichero) y que
    deduzco que debe de tener ir acompañado de alguna configuración especial de
    php, a retocar mediante php.ini o mediante .htaccess, aunque tampoco estoy
    segura de ello. pero por mucho que leo y busco no encuentro nada que lo
    aclare definitivamente.

    Alguien tiene la solución a algo que debe de ser muy obvio pero que hoy,
    con
    los nervios de los reyes a punto de llegar, :-) no consigo averiguar.

    Mil grácias a todos y que tengais muy buenos reyes!!

    Núria


    --
    Gerardo Benitez
    ---------------------
    Desarrollo web - Sistemas web - Intranets
    Webseficientes
    http://www.webseficientes.com.ar
  • Carlos Medina at Jan 6, 2009 at 1:05 pm
    Hola Lista,
    pues una explicacion al include. Include tiene la caracteristica que
    cuando llamas un archivo con "../" include buscara relativo a la ruta en
    la que este situada el archivo en comun.

    Ej.: mi File se llama test.php y esta situado en /opt/www/htdocs/test/.
    Mi root del servidor es /opt/www/htdocs/. Si llamo en ese File otro
    llamado test2.php de esta manera include('../test2.php'), estoy llamando
    un File que esta situado en /opt/www/htdocs/. Es decir
    /opt/www/htdocs/test2.php

    Include lo primero que hace si lo llamas de esta manera
    include('test.php') es mirar lo que esta metido en la PATH variable de
    include_path. Puedes ver lo que esta grabado ahi usando echo
    get_include_path(); Al principio ves un "." luego /opt/lamp/PEAR y otras
    cosas como el estilo. El punto al principio significa el directorio en
    el que esta situado el archivo en cuestion. Metiendo los directorios
    apropiados puedes llamar el include desde cualquier parte.

    Saludos

    Carlos Medina

    Gerardo Benitez schrieb:
    Si lo pones asi, significa que tu archivo esta en el root del server, o sea
    /

    Si lo queres tener disponible para todos ponelo en el path, con la funcion
    set_include_path, en el manual de php
    http://www.php.net/manual/en/function.set-include-path.php



    2009/1/5 Núria <nuriarai@gmail.com>
    Hola, en teoria si hago un include y lo pongo así:

    <?php include("/menu.php") ?>

    estoy diciéndole al sistema que el fichero menu.php está justo en la raiz
    del servidor. De este modo aunque haga un include de dicho fichero desde un
    archivo situado en las más profundas carpetas de la estructura de la web
    que
    estemos tratando, no va a haber ningun problema y el sistema siempre sabrá
    donde econtrar dicho fichero, o sea en la raiz del servidor.

    De este modo evitamos engorrosas e ineficaces variaciones si lo ponemos
    mediante rutas relativas, como aquí al llamar a un javascript:
    ....... src="../../../eines/menu/NavMenuBo.js">

    La cuestión es que esto no me funciona (no encuentra el fichero) y que
    deduzco que debe de tener ir acompañado de alguna configuración especial de
    php, a retocar mediante php.ini o mediante .htaccess, aunque tampoco estoy
    segura de ello. pero por mucho que leo y busco no encuentro nada que lo
    aclare definitivamente.

    Alguien tiene la solución a algo que debe de ser muy obvio pero que hoy,
    con
    los nervios de los reyes a punto de llegar, :-) no consigo averiguar.

    Mil grácias a todos y que tengais muy buenos reyes!!

    Núria

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedJan 5, '09 at 6:15p
activeJan 6, '09 at 1:05p
posts5
users4
websitephp.net

People

Translate

site design / logo © 2022 Grokbase