Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Percorsi relativi e assoluti questo arcano

    Salve a tutti, premetto che ho cercato risposte al mio quesito e ne ho trovate ma bene o male diverse e contrastanti.
    Ho un sito semplice in php html5 con poche cartelle e sottocartelle scritto a mano senza l'uso di cms o altro.
    Ci sono script qua e la che fanno calcoli e conversioni i quali a loro volta richiamano altri script o porzioni di file per estrarre dati.
    Per unire questi script e farli interagire uso il comando include('file.php');.
    Finchè sono nella root e il file A include il file B (sempre nella root) va tutto una meraviglia.
    I problemi iniziano quando il file B presente in root richiama il file C dentro la cartella /cartellaprova il quale file C include
    dei dati presenti nel file D che si trova in /cartellamia.
    Avevo provato questo include_once $_SERVER['DOCUMENT_ROOT']. ('/cartellamia/scriptphp.php'); ad ogni include ma sembra che non funzioni sempre.
    Spero di essere stato chiaro, mi potete aiutare così una volta per tutte sistemo questa cosa?

    Grazie a tutti.

    Alberto
    http://www.meteomontebello.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    37
    Il percorso che viene considerato è quello del file richiesto! Nel senso che se nel browser digiti www.sito.com/index.php tutte le directory si riferiscono alla directory in cui è presente il file index.php. Quindi se nel file index.php hai inserito un file A presente in un'altra cartella e quel file richiama a sua volta un'altro file B all'interno di un'altra cartella ancora, devi esprimere tutte le directory come se fossero richiamate dal file index.php

    Esempio:
    index.php // root principale
    cartella1/A.php // posizione del file A
    cartella2/B.php // posizione del file B

    // Struttura del file index.php
    codice:
    <?php
    require_once( 'cartella1/A.php' );
    
    ...
    altro codice
    ...
    ?>
    // Struttura del file A.php
    codice:
    <?php
    require_once( 'cartella2/B.php' );
    
    ...
    altro codice
    ...
    ?>
    nota che nel file a il percorso è riferito al file index.php e non al file a altrimenti il percorso sarebbe stato: ../cartella2/B.php

    in questo modo richiamando il file index.php questo a sua volta chiede il file A.php all'interno della catella cartella1 che a sua volta richiede il file B.php all'interno della cartella cartella2 con la directory espressa in base al percorso del file index.php

  3. #3
    Grazie simcar della risposta.

    Attualmente ho fatto come descrivi tu ma non sempore funziona.

    Premetto che sono su Aruba e uso hosting linux.

    Ho come l'impressione che al posto di usare persorsi relativi tipo ./cart1/file.php
    devo usare percorsi assoluti come fossi nel mio pc esempio C:\windows\programmi\ecccecc\file.php

    Sbaglio?

    Alberto
    http://www.meteomontebello.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    37
    Prova con:

    Codice PHP:
    require_once( dirname(__FILE__).'\\percorso file' ); 
    per ogni file che devi includere

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.