Remember me - Lost password?
m3c__ : about 2 years ago
Domanda PHP

ho appena scoperto questa tecnica:

set_include_path(get_include_path().PATH_SEPARATOR.$_SERVER['DOCUMENT_ROOT']);
include ("include_header.php");

in pratica qualsiasi sia la posizione del file che richiama include_header.php, avrò sempre il path corretto senza dover salire o scendere di livello.

Ho testato e...funziona o_o il file root/test.php e il file root/test/test.php includono la medesima pagina, usando unicamente il codice di su.

Non ho ben capito come funziona ma funge qualcuno a conosceva già?ha delle falle?ci sono dei modi migliori per fare la stessa cosa?
from nato a Locarno - vivo a Pantelleria - 15 replies
capobecchino : about 2 years ago
scusa ma cosa c'è di difficile ad usare dirname(FILE) e partire dal file corrente?
from Sesto San Giovanni, IT - detail
m3c__ : about 2 years ago
uhm a parte che non la conoscevo...poi devo creare io una serie di regole a seconda della directory in cui si trova, oltre che a dover settare $file di volte in volta, il codice che ti ho incollato io invece funge ovunque senza modifiche...
from nato a Locarno - vivo a Pantelleria - detail
capobecchino : about 2 years ago
ehm! aspè mi sa che hai le idee un po confuse, set_include_path ti genera un percorso "generico" sempre accessibile ma questo significa che tutti i tuoi file devono stare in quel percorso
from Sesto San Giovanni, IT - detail
m3c__ : about 2 years ago
Uhm quindi se devo includere 2 file che si trovano in due cartelle diverse non funge?

sto guardando un attimo dirname ma non capisco come usarla...i dice in quale cartella si trova il file che ho richiamato.ok. una roba simile

/web/htdocs/www.miosito.it/home/cartella

ma una volta che ho questo come faccio a dirgli tutti i vari "esci" o "entra"?
from nato a Locarno - vivo a Pantelleria - detail
capobecchino : about 2 years ago
allora tu hai questo albero

root
|_ cartella1/file1.php
|_ cartella2/file2.php
|_ cartella3/file3.php

ora da file3.php vuoi includere i 2 file nelle altre 2 cartelle la cosa è semplicissima:

include dirname(FILE)."/../cartella1/file.php";
include dirname(FILE)."/../cartella2/file.php";
from Sesto San Giovanni, IT - detail
capobecchino : about 2 years ago
scusami ovviamente è dirname(--FILE--) dove - = _ (altrimenti meemi non lo legge)
from Sesto San Giovanni, IT - detail
m3c__ : about 2 years ago
Uhmm io ho un file nella root che tenta di includere un file in root/utility/test.php

include dirname(FILE)."/../utility/test.php";

ma non va...sputa fuori:

Warning: include(/web/htdocs/www.sito.it/home/../utility/test.php) [function.include]: failed to open stream: No such file or directory in /web/htdocs/www.sito.it/home/test.php on line 3
from nato a Locarno - vivo a Pantelleria - detail
capobecchino : about 2 years ago
se lo hai nella root non ti serve usare dirname ma semplicemente include "utility/test.php"
from Sesto San Giovanni, IT - detail
m3c__ : about 2 years ago
beh a questo punto, guardando il tuo esempio:

root
|_ cartella1/file1.php
|_ cartella2/file2.php
|_ cartella3/file3.php

bastava fare:

include "../cartella1/file1.php";
include "../cartella2/file2.php";

e avrei ottenuto lo stesso risultato, no?
from nato a Locarno - vivo a Pantelleria - detail
capobecchino : about 2 years ago
no perchè l'inclusione io la facevo nel file3.php
from Sesto San Giovanni, IT - detail
m3c__ : about 2 years ago
anche io scusa...sono nel file3, esco dalla cartella3 ed entro in cartellax o_o
from nato a Locarno - vivo a Pantelleria - detail
capobecchino : about 2 years ago
allora Joel il discorso è semplice, se hai tutti i file da includere in una sola cartella allora stai a posto e puoi usare la tua soluzione, se invece hai i file da includere (come meemi ad esempio) messi in più cartelle e non tutte sullo stesso livello nel file system, allora devi usare la mia soluzione che in sostanza è come se scrivessi il percorso intero
from Sesto San Giovanni, IT - detail
m3c__ : about 2 years ago
farò qualche test in più e ti dico che non o mica ben capito come lavora la tua soluzione. ho vari file da includere sparsi in varie cartelle, e alcuni includono dei file "generici" che a lor volta includono dei file.

mi sono perso, mi ritrovo e ti dico
from nato a Locarno - vivo a Pantelleria - detail
capobecchino : about 2 years ago
ok attendo
from Sesto San Giovanni, IT - detail
aldopinga : about 2 years ago
"/web/htdocs/www.sito.it/home/../utility" in questo caso torna indietro sicuro ci sia bisogno di ../?
from torino - detail
New to meemi?
Join now to quickly and easily way

Problem? Rigenerate new code
By clicking the button, you agree all terms of service