ragazzi, come faccio a mettere un percorso assoluto, o almeno che parte dalla root nella funzione include() ??? grazie!!!
ragazzi, come faccio a mettere un percorso assoluto, o almeno che parte dalla root nella funzione include() ??? grazie!!!
Non credo che sia possibile includere percorsi assoluti, comunque guarda php.net: http://php.net/include
per l'url assoluto invece di usare http://geckostreaming.altervista.org/ usa membri/geckostreaming/
ciao ciao
e dopo mi funziona la funzione include se uso membri/geckostreaming/index.php... ?? :D
e la relativa parte da dove?? :D grazie! ma cmq su altri siti come funzionerebbe quella sintassi "membri/nomemembro/...? immagino che questa non sarebbe più valida... xD
se devi includere la index.php della directory principale fai
include("membri/geckostreaming/index.php");
non mi sembra una cosa cosi complicata
ovviamente altri host tipo aruba useranno una cosa diversa
ciao ciao
si, quello mi riesce, ma vlevo anche sapere come funziona la path relativa, con solo un puntino... grazie!
i puntini variano in base a dove hai il file che include.
Ogni punti risulta una cartella in piu dalla root, esempio:
in folder_1 includerai con:Codice:|-/ |-/folder_1/ |-- file_che_include.php |-- file_incluso.php |-/folder_2/ |-/folder_2_1/ |-- file_che_include.php |-- file_incluso.php
mentre da folder_2_1Codice PHP:
<?php
include('./inc/file.php');
?>
Codice PHP:
<?php
include('../inc/file.php');
?>
Ultima modifica di biccheddu : 15-02-2009 alle ore 16.18.47
ma i due puntini non vogliono dire "torna indiero" dalla directory nella quale si è ??? e cmq questo codice dopo è uguale per tutte le posizioni nelle quali si troveranno le pagine nelle quali includo? grazie
Se si trovano nella stessa cartella si, altrimenti metti un puntino in più per ogni cartella
okay, ma funziona solo nei file ".inc" ??? perchè negli altri non mi sembra vada... :D
EDIT: non mi funziona proprio... ma cmq il file da inserire non È nella stessa dirextory di quello che include... lo sai questo?
magari e x questo che non funziona..
Ultima modifica di geckostreaming : 15-02-2009 alle ore 18.44.26
Ho sbagliato diciamo io con l'esempio.
Rifacendolo con quello postato prima dovrebbe essere:
in folder_1 includerai con:
mentre da folder_2_1Codice PHP:
<?php
include('./file_incluso.php');
?>
Mentre se hai una situazione simile:Codice PHP:
<?php
include('../file_incluso.php');
?>
E vuoi includere file_incluso_2.php da file_che_include_1.php, dovrai usare:Codice:|-/ |-/folder_1/ |-- file_che_include.php |-- file_incluso.php |-/folder_2/ |-/folder_2_1/ |-/folder_2_1_1/ |-- file_che_include_2.php |-- file_incluso_2.php |-- file_che_include_1.php |-- file_incluso_1.php
Non è molto complicato da capire, basta provareCodice PHP:
<?php
include('../folder_2_1_1/file_incluso_2.php');
?>
Invece di complicarti la vita fai così:
Lo slash(/) indica la cartella principale cioè root, io faccio così e non ho problemi e ovviamente funziona anche con le sottocartelleCodice PHP:
include("/file.php");
Saluti!Codice PHP:
include("/cartella/file.php");
beh, se quello con la root funziona allora ho risolto tutti i miei problemi perchè mi serviva un codice che andasse bene per tutto, altrimenti ( avevo già provato ma non mi funzionava, ma magari sbagliavo io) uso quello con i puntini che ora mi studio...
EDIT:
ma quello con la root funziona??? a me no... io uso safari, è per questo? non credo... :D
EDIT2:
okay, ho guardato a fondo i due esempi. quello con i puntini non mi va bene perchè il codice deve rimanere invariato in qualunque posizione si trovi la pagina che include, e quindi quello no. quello con la root sarebbe perfetto dato che rimarrebe sempre invariato solo che l'ho provato e non mi funziona, e tra un po' impazzisco perchè non so il motivo. è possibile avere il codice di un file di esempio che da voi funziona??? grazie
Ultima modifica di seneca : 16-02-2009 alle ore 14.22.41
Ma i puntini variano in base alla pagina che include, Cosa c'entra la posizione? In base a quella usi diversi puntini
già, ma io includo una pagina che a sua volta include un'altra pagina, e faccio questo procedimento con tutte le pagine del mio sito, quindi non posso modificare i puntini nel file che viene incluso e include a sua volta, ma potrei farlo solo nel file diretto nel quale vengono incluse le due pagine, riesci a seguirmi? quindi ho bisogno di un percorso invariato, assoluto o qualsiasi altra cosa che non venga modificato... conunque grazie mille ;D ma mi puoi spiegare la storia della root che a me non funziona ?? grazie mille!!!
Non capisco dove sia il problema.
Includi in base a dove si trova il file.
I puntini non li usi per rimpiazzare le directory, ma per specificare di quante cartelle è "distante" il file dalla root.
Praticamente tratti la cartella come se fosse la rootCodice:/ Se includi da qui basta che usi / cartella_1/ Se includi da qui basta che usi ./ cartella_2/cartella 2_1/ Se includi da qui basta che usi ../
forse sono io comunque ho sempre usato
se ero in root-cartella1 e dovevo includere un file della root: ../file.php
se ero in root-cartella1-cartella2 e il file in root: ../../file.php
se ero in cartella3 (in root) e il file si trova in cartella 1: ../cartella1/nome file.php
ovvero ho sempre usato i 2 puntini e non 1,2 o 3
ragazzi lo so che questo funziona, epura a me funziona, ma a me serve un codice invariato dato che nella pagina che viene inclusa da una decina o più di file ci sta dentro un'altra inclusione che non posso modificare il percorso dato che le cartelle sono in diverse posizioni.... solo percorso assoluto... :D
Ma che intendi con "codice invariato", perchè dovresti variare il codice?
Scrivi l'inclusione rispetto alla posizione e stop.
Ciao!
ragazzi, non posso modificare la sintassi del codice, perchè nella pagina che viene inclusa c'è un'ltra inclusione e quindi, dato che alla fine questa pagina viene inserita in tante con tante posizioni differenti, mi serve un percorso INVARIATO per fare si che funzioni sempre... uno assoluto o dalla root!!! :(
Ehm.. scusa.. ma se non puoi modificare il sorgente, se ti diamo la soluzione ideale, come la applichi?
Ciao!
Tutti i metodi sono stati scritti sopra...
Potresti postare un esempio in php di quello che vuoi fare?
okay, allora vi spiego bene:
fileA.php:Codice PHP:
testo in html...
<?php
include("../ssi/fileB.php") // asterisco *1
?>
altro testo in html...
fileB.php :Codice PHP:
testo in html...
<?php
include ("fileC.txt") // asterisco *2 !!!
?>
altro testo in html
fileC.txt :Codice HTML:semplice testo che diventerà html
allora: ho il fileA.php ( che sono molti, tutti uguali tranne per il contenuto, mentre il menu, l'intestazione e il "piede" sono sempre in comune... *1 // la sintassi del percorso sarà "../" oppure "../../" e così via a dipendenza di quante cartelle distante dalla root è. e fino a qui nessun problema.
il fileB.php contiene il problema: esso infatti è incluso in tanti file che stanno in diverse posizioni, e quindi se scrivessi per la path dell'inclusione del fileC.txt ( che si trova nella stessa directory) una sintassi del tipo "../" allora questo funzionerebbe solo nei fileA che si trovano in una directory sola dalla root, e se scrivessi ../../ allora varrebbe solo per quelli a distanza di 2 directory. ecco perchè qua mi serve una sintassi di tipo assoluto o che perlomeno si riferisce alla root o a qualcosa di immobile per fare si che rimanga invariato anche quando verrà incluso. *2 // ecco perchè qua mi serve una sintassi assoluta o dalla root ( è praticamente la stessa cosa), o fare in modo che il fileC.txt venga prima incluso nel fileB, il quale solo dopo a questa funzione verrà inserito nel fileA ( o i più fileA.php), o qualche altro tipo di soluzione che però vada bene per tutte le posizioni possibili del fileA.
infile, il fileC.txt, che potrei anche chiamare php, htm, o qualsiasi altra cosa dato che non farebbe differenza dato che il suo contenuto verrâ processato dall'estensione che avrà il file che lo includerà, conterrà solo del testo html, php o altro. questo file non contiene inclusioni, e quindi non ci sono problemi di sorta.
Spero di essere stato chiaro e che perlomeno esista una soluzione. Grazie mille a tutti per l'aiuto!!! :D
anchio ho incontrato questo problema con il mio sito e fino a poco tempo fa includevo i file aggiungendo una variabile con il numero giusto di ../
ma poi mi sono accorto che basta scrivere include("/membri/webeasy/inc/menu.php");
perche non ti va bene cosi?
perchè non so se funzionerebbe su altri sistemi o se dovessi cambiare indirizzo, ma cioè, non è che non mi va bene, ma avrei preferito il percorso assoluto.. adesso cerco ancora un po' e poi al massimo uso quello... :D grazie!
Potresti provare a fare qualcosa con $_SERVER['SCRIPT_FILENAME'] e/o __FILE__
Ciao!