Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Require() e percorsi

  1. #1

    Require() e percorsi

    E' da oggi che cerco la soluzione a questo problema, ho letto di tutto di più, ho imparato tanto, eppure non mi è ancora chiaro come risolvere la situazione. Premesso che in PHP sono un assoluto neofita, ecco il problema da risolvere:
    Consideriamo un sito dove nella radice c'è il file index.php con annessi header.php e footer.php.
    Ci sono poi una serie di altri file .php in sottocartelle, quindi per esempio nella cartella /altro/ c'è pagina.php
    Ora, in pagina.php c'è un
    Codice PHP:
    <?php require( dirname(__FILE__) . '/../header.php' ); ?>
    che inserisce un
    codice:
    [img]header.png[/img]
    che ovviamente non fa comparire l'immagine (mentre tutto chiaramente funziona bene per i file .php nella cartella radice).
    Come si può risolvere una situazione del genere senza dover spostare o modificare la posizione corrente dei file?

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    edit....

    il file header.png e' allo stesso livello di header.php??

  3. #3
    Si, header.php e header.png sono nella radice, difatti index.php visualizza tutto correttamente

  4. #4
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221

    Re: Require() e percorsi

    Originariamente inviato da Atan0r
    Come si può risolvere una situazione del genere senza dover spostare o modificare la posizione corrente dei file?
    Una soluzione potrebbe essere quella di definire delle costanti in un file che includi in tutte le pagine (magari in header.php) tipo:

    Codice PHP:
    define("ABS_PATH","/etc/www/pathcompletolocale");
    define("ABS_URL","http://www.tuosito.it/cartella/"); 
    da quel punto in poi quando ti server il link fai

    Codice PHP:
    [img]<?= ABS_URL;?>/sottocartellaseserve/header.png[/img]
    e quando fai un include o un require

    Codice PHP:
    require(ABS_PATH."sottocartellaseserve/filedaincludere.php"); 

  5. #5

    Re: Re: Require() e percorsi

    Originariamente inviato da las
    Una soluzione potrebbe essere quella di definire delle costanti in un file che includi in tutte le pagine (magari in header.php)
    Ok, questo penso che possa funzionare. In effetti mi era venuta in mente come soluzione, però l'avevo inizialmente scartata perchè:

    a) mi sono scervellato per trovare un modo di ottenere dinamicamente il percorso "/etc/www/pathcompletolocale" a prescindere dalla posizione del file .php che viene eseguito, pur mantenendo la definizione della costante in un singolo file nella radice. Non ci sono riuscito, però in effetti la tua soluzione, sebbene non proprio elegante come vorrei io, è certamente funzionale.

    b) chissà perchè sono convinto che inserire gli URL completi per i file immagine negli <img> non sia una cosa "bella" da farsi. Smentitemi una volta e per tutte, sono 8 anni che non metto mano a un sito web e mi sento un pò arrugginito...

    Grazie per l'aiuto!

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.