Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Gestione inclusioni

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    698

    Gestione inclusioni

    Sto impazzendo con le include e le require

    Io ho dei file php che contengono solo delle funzioni, e dei file che li includono per usarle.

    Ogni file contenente funzioni, all'occorrenza, può richiedere inclusioni aggiuntive. Il problema è che queste inclusioni aggiuntive non le posso fare con dei path relativi, dato che lo script in questione può essere incluso da più punti diversi.
    D'altra parte, non riesco nemmeno a farle con dei path assoluti dato che non riesco a comporli: $_SERVER["document_root"] mi da il path fino ad htdocs, e non fino alla root della mia applicazione. Possibile che non ci sia una variabile di ambiente che mi da la root, con percorso assoluto, del mio sito (c:\.....\htdocs\miosito)?

    Comunque, per riassumere, come si approccia in genere questo tipo di problema?

    ps: se non sono stato chiaro posto un esempio

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    698
    posto un esempio va

    situazione sul file system

    codice:
    root
    |
    +-config.inc.php
    +-login.php
    +-auth
    |  |
    |  +-auth.php
    +-db
    |  |
    |  +-db.php   
    +-admin
    |  |
    |  +-admin.php
    All'interno di login.php includo auth.php, che contiene la funzione di login ed altre menate relative all'autenticazione.

    All'interno di auth.php includo db.php, per fare delle letture e scritture nel db.

    All'interno di admin.php includo auth.php perchè contiene le funzioni per verificare se l'utente ha i privilegi per entrare nella pagina di amministrazione.


    Il problema è il seguente.
    L'inclusione di db.php all'interno di auth.php deve essere fatta con un path assoluto per i seguenti motivi:

    1. se auth.php è inclusa in login.php il percorso per caricare db.php sarebbe "db/db.php"
    2. se auth.php è inclusa in admin.php il percorso per caricare db.php sarebbe "../db/db.php"

    Avevo pensato di salvare in una variabile $root, definita nel file di configurazione, il path in questione, ma è un po come un cane che si morde la coda: il percorso per includere config.inc.php deve essere assoluto pure lui.


    Quindi, per il momento ho risolto includendo sia in login.php che in admin.php il file di configurazione (in questo caso sono sicuro del percorso relativo e lo posso usare).

    Penso di sbagliare qualcosa perchè il tutto mi pare un po troppo cervellotico: cosa mi sfugge?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.