- Home
- Categorie
- Coding e Sistemistica
- PHP
- Include e percorso file
-
Include e percorso file
buongiorno Forum
neofita di PHP prima di scrivere ho guardato un po' di vecchi post ma non vengo a capo del problema.sto trasformando il mio sito usando php e usando include per inserire i menu sulle varie pagine e mi trovo con un paio di problemi
uno
ho creato il menu - l'ho messo in cartella apposita chiamata "inclusi"
il menu in questione viene incluso in pagine nella cartella "corsi" sotto la quale c'è una cartella "ecdl"
dalle pagine della cartella corsi funziona tutto bene
da quelle della sottocartella "ecdl" non funziona perchè anzichè cercare
nomesito/corsi/nomepagina
cerca
nomesito/corsi/corsi/nomepaginadue
ho creato una testata formata da un'immagine (cartella "immagini") e una scritta regolata da una variabile
ed una "sottotestata"!! con della grafica e il link Home (che porta alla pagina index nella dir principale)
anche qui dalle pagine in ../corsi funziona tutto
da quelle in ecdl si vede la testata con le variabili ma non l'immagine e il link home vuole portartmi in ..corsi/index.htmlho provato ad usare
include($_SERVER['DOCUMENT_ROOT'].'/inclusi/testata.html')
ma così: in explorer non si vede più ne la testa ne la barra con il link home
in Firefox si vede la fascia con il colore di fondo corretto della testata e di nuovo nè immagine nè scritta ne barra con link!!!:oQUINDI?!
ccheffaccio???!!!!!!
grazie in anticipo
Nadia
-
è un problema di percorso
include($_SERVER['DOCUMENT_ROOT'].'/inclusi/testata.html')
qui se sei in cartella è normale che ti generi una cosa del genere
nomesito/corsi/corsi/nomepagina
questa $_SERVER['DOCUMENT_ROOT'] potrebbe stampare questo percorso
nomesito.it/cartella_1/
mentre te avresti bisogno stampasse
nomecartella.it/inclusiti suggerisco di usare questo ../ per tornare indietro e poi il nome cartella dove vuoi entrare tipo: ../inclusi/file da includere
-
grazie tifo-milan,
il problema però è che sono entrata qui e leggendo ho provato ad usare
include($_SERVER['DOCUMENT_ROOT'].'/inclusi/testata.html')
perchè con ../ non stava funzionando bene!../ funziona per i primi due livelli del sito ovvero se includo il file in pagine della cartella principale "nomesito" o della sottocartella "nomesito/corsi"
mentre non funziona se lavoro con i file della sottocartella
"nomesito/corsi/ecdl"quindi la pagina
//nomesito/corsi/corsi_milano.php
se chiamata dal menu di pagine in
//nomesito/corsi/ecdl/ecdl.php
non si apre perchè viene cercata come
//nomesito/corsi/corsi/corsi_informatica_milano.phpallo stesso modo da ecdl.php l'index che è nella cartlla principale viene cercato come
//nomesito/corsi/index.html
!!!!!accade anche che nelle pagine della cartella corsi l'include è scritto:
<?php include("../inclusi/corsi_menusx.html"); ?>mentre in quelle della cartella corsi/ecdl mi appare scritto
<?php include("../../inclusi/corsi_menusx.html"); ?>
il doppi ../../ se l'è messo dreamweaver da solo!però se scrivo
<?php include("../inclusi/corsi_menusx.html"); ?>
nelle pagine ecdl ...non include più nulla!bloccatissima !!!
-
mentre non funziona se lavoro con i file della sottocartella
"nomesito/corsi/ecdl"
questo ../ serve per scendere...se sei sopra di due cartelle lo metterai due volte e cioè ../../se proprio non riesci metti il percorso intero del file e cioè ww.nomesito.it/cartella/ecc. tre volte w non mi è concesso mettere link
-
@tifo-milan.it said:
questo ../ serve per scendere...se sei sopra di due cartelle lo metterai due volte e cioè ../../
infatti lo metto due volte... e mettendolo due volte quando dal menu chiamo la pagina con percorso //nomesito/cartella1/nomefile
non la trova perchè va a cercare //nomesito/cartella1/cartella1/nomefile ...ma la seconda cartella1 NON esiste.come dicevo per scrupolo prima di scrivere qui ho provato a mettere ../ una volta sola oppure tre volte ...così come ho provato ad usare $_server etc. ma in tutti questi modi scompare proprio la parte di pagina dove dovrebbe esserci l'incluso di turno.
quindi la domanda resta:
perchè se scrivo ../../cartellainclusi/fileincluso che dovrebbe essere la forma giusta NON funziona il link?!
perchè vuole mandarmi in una sottocartella che non esiste?!
che errore faccio e dove?@tifo-milan.it said:
se proprio non riesci metti il percorso intero del file e cioè ww.nomesito.it/cartella/ecc. tre volte w non mi è concesso mettere link
il fatto è che ho un sito con moltissime pagine che hanno ottime possibilità nel tempo di aumentare e venire spostate in nuove cartelle o sottocartelle per miglior gestione
inoltre sto creando il sito su un server di prova (quindi con un nomesito non reale) e vorrei evitare poi di dover cambiare tutte le stringhe include quando invece magari il non funzionamento è dovuto ad una stupidaggine che non riesco a vedere da solascusate l'insistenza ma finchè non risolvo sta cosa
non posso andare avanti con il sito!!!Nad