Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di bart87
    Registrato dal
    Apr 2004
    Messaggi
    184

    problema con un include

    Ci sto diventando matto..
    Allora sto creando un portale e ho una struttura del tipo:

    localhost->(index.php , source->(_class.class.php) , config->(config.php)).
    A questo punto mi servirebbe di includere in _class.class.php il file config.php e allora uso

    include("../config/config.php);

    il file _class.class.php è a sua volta incluso in index.php.

    A questo punto aprendo index.php php mi dà un errore di "failed to open stream" per l'inclusione di config.php.
    E' stranissimo, il codice mi sembra a posto e il file è nel posto giusto..
    Qualcuno mi illumina??
    Nunc Bibendum est!

  2. #2
    Quando un file viene incluso acquisisce la posizione nella struttura (path) di dove viene chiamato.

    nel tuo caso non devi piu' scendere di una directory perche' sei gia' nella posizione di index.php.

    include("./config/config.php");

    un solo punto.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di bart87
    Registrato dal
    Apr 2004
    Messaggi
    184
    Avevo pensato pure io che fosse una cosa del genere, ma se io metto la cartella gonfig con config.php in source/classes (nello stesso path di _class.class.php) e non in source e qundi:
    include("config/config.php);
    funziona..
    E poi io richiamo il file da index.php che è in localhost, mentre la cartella config è in localhost/source quindi dovrei scrivere:
    include("source/config/config.php");
    se fose come dici tu?
    O mi sbaglio?
    Nunc Bibendum est!

  4. #4
    Se un file lo richiami da un determinato path, tutto quello che a sua volta richiama questo file incluso, deve essere indirizzato non come posizione originale del file, ma come se questo file si trovasse nella stessa posizione di chi lo ha incluso.

    Sembra uno scioglilingua. Altrimenti usa percorsi assoluti invece di relativi e dove sei sei va sempre bene.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it L'avatar di bart87
    Registrato dal
    Apr 2004
    Messaggi
    184
    Ho capito, ma se io metto index.php in una cartella, _class.class.php nella cartella source e la cartella config nella stessa cartella di _class.class.php facendo come include

    include("config/config.php")

    funziona, anche se il percorso da index.php sarebbe

    source/config/config.php
    Nunc Bibendum est!

  6. #6
    Utente di HTML.it L'avatar di bart87
    Registrato dal
    Apr 2004
    Messaggi
    184
    Altra domanda, se io ho 3 file, a, b e c.
    mettiamo che siano in cartelle una sotto l'altra quindi:

    root(a , cart1(b , cart2(c)))

    A questo punto se io includo c in b e poi b in a con percorsi relativi il percorso che scrivo in b per includere c deve essere "cart2/c" o "cart1/cart2/c"??
    Perché nel secondo caso, se io volessi richiamare direttamente b dal browser il percorso risulterebbe sbagliato e funzionerebbe solo visualizzando a..
    Nunc Bibendum est!

  7. #7
    E' inutile farsi i tormentoni dei se....

    Quando includi un file, il contenuto viene "assorbito" ... copiato nel file di chiamata.

    Se index.php chiama pippo.php .... viene fatta una copia di pippo.php esattamente nel punto di chiamata di index.php. Da quel momento non esiste piu' il file pippo.php incluso in index.php, ma semplicemente index.php si e' fatto dentro di se una copia di pippo.php. Quindi tutto quello che e' scritto si trovera' dentro il file index. Da li il path deve essere congruente con la posizione nel file system di index.php e non di dove si trova fisicamente il file pippo.php perche' questo viene abbandonato dopo la copia.

    Piu' chiaro adesso?



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it L'avatar di bart87
    Registrato dal
    Apr 2004
    Messaggi
    184
    Sì, era chiarissmo anche prima, mi chiedevo solo il perché di quella stranezza di cui dicevo sopra..
    Grazie per la spiegazione..
    Nunc Bibendum est!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.