Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Path dell'include

  1. #1

    Path dell'include

    Ciao a tutti,
    quando includo un file incluso in un altro file quale path devo utilizzare?

    Esempio:
    struttura:
    A.php
    inc/B.php
    inc/C.php
    fun/D.php

    A include B
    B include C e D

    In A metto
    require('inc/B.php');

    In B includo con:
    require('inc/C.php');
    require('../fun/D.php');

    e non va!
    Il corretto è:
    require('inc/C.php');
    require('fun/D.php');

    Perchè? Qual'è la logica dietro l'inclusione??

    Grazie a tutti

  2. #2

    Re: Path dell'include

    Originariamente inviato da fpochet
    Ciao a tutti,
    quando includo un file incluso in un altro file quale path devo utilizzare?

    Esempio:
    struttura:
    A.php
    inc/B.php
    inc/C.php
    fun/D.php

    A include B
    B include C e D

    In A metto
    require('inc/B.php');

    In B includo con:
    require('inc/C.php');
    require('../fun/D.php');

    e non va!
    Il corretto è:
    require('inc/C.php');
    require('fun/D.php');

    Perchè? Qual'è la logica dietro l'inclusione??

    Grazie a tutti
    Il punto principale è: qual è lo script ke esegui? Ti spiego. Quando tu esegui una pagina .php la directory di lavoro è quella in cui c'è il file attualmente in esecuzione. Quindi se tu esegui:

    http://www.tuosito.it/A.php

    la directory di lavoro sarà quella in cui si trova A.php
    Ora tu in A hai:
    require('inc/B.php');

    la directory di lavoro è ancora quella in cui si trova A e non si è spostata nella directory inc/


    Infatti tu fai:

    In B includo con:
    require('inc/C.php');

    Se la directory di lavoro si fosse spostata in inc/ avresti dovuto fare semplicemente:

    require('C.php');

    ma il problema è ke ti trovi nella cartella superiore!

    Tale dicitura
    require('C.php');

    andava bene se avresti fatto:

    http://www.tuosito.it/inc/B.php

    Alla luce di tutto ciò, quindi puoi capire come

    In B includo con:
    require('inc/C.php');
    require('../fun/D.php');

    dia errore require('../fun/D.php'); appunto perché ti trovi nella directory di A.php e per accedere a D.php devi fare require('fun/D.php');

    Spero di essere stato chiaro.

  3. #3
    Grazie mille,
    ero partito dal presupposto che il funzionamento era esattamente quello che dicevi tu, ma non so perchè ci ho ripensato e ho perso tempo a trovare un altro funzionamento..

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.