|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
[CSS] utilizzo da altre cartelle
Supponiamo che il mio sito contenga una cartella chiamata "CSS" con dei fogli di stile. Supponiamo che creo un file.php e lo metto in cartella_principale/2008/11
Come faccio a fare in modo che il file.php utilizzi i css della cartella "CSS"? che percorso gli devo dare? E se il file abbia istruzioni include del php? (immagino si faccia come per i css). Grazie. |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
- Sotto la root del sito hai una cartella CSS che contiene dei file .css - Sotto la root del sito hai una struttura cartella_principale/2008/11 con un file.php Il file css lo puoi referenziare con "../../../CSS/file.css" o con "/CSS/file.css". Il primo path è relativo al file.php, il secondo path è assoluto dalla root del sito (preferibile). Cioè? Spiega meglio.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
quindi per evitare i vari ../../../../ è meglio mettere / in tutti anche nei file di root.
Mi spiego meglio. Se in root ho un index.php che include un menu.php sarà meglio dargli un 1) <? include ("/menu.php"); ?> piuttosto che un 2) <? include ("menu.php"); ?> ? <-- punto di domanda poiché se sposto il file index.php in /pinco/pallino mi include il menu correttamente, mentre nel secondo caso no. Giusto? PS: mi accorgo di essermi intortato parecchio. |
![]() |
![]() |
![]() |
#4 |
Messaggi: n/a
|
|
![]() |
![]() |
#5 |
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
il problema sull'include è semplice. I CSS me li collega, altri file php no!
per esempio in /uno/due/file.php c'è questo pezzo di codice <div id="colonna-sinistra"><? include ("/menu-sinistra.php"); ?></div> e il menu non mi compare.. |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Negli script PHP invece tecnicamente hai accesso al file-system del server (salvo limitazioni varie, ovviamente). Quindi un path che inizia con '/' è riferito alla "root" del file-system, non del sito Su un sistema Linux la root del sito potrebbe essere ad esempio "/var/www/tuosito/html". In PHP in genere si usa la variabile DOCUMENT_ROOT, es: include "${_SERVER['DOCUMENT_ROOT']}/tuo_file_nella_root.php"; Ammesso che il server web imposti correttamente la variabile DOCUMENT_ROOT (mi è capitato purtroppo di vedere hosting anche professionali in cui non è così .....).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
ora capisco. Proverò questo metodo.
ma qual è il metodo migliore e più utilizzato allora? DOCUMENT_ROOT o ../../../ ? Vedo spesso siti che fanno uso di sottocartelle, ma non penso che copi-incollino il file da includere nelle cartelle altrimenti se devono fare modifiche generali devono modificare tutti i file, no?! |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Io personalmente preferisco sempre usare la variabile DOCUMENT_ROOT (quindi un path assoluto).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
Ho inserito in /uno/due/file.php questo codice
<? include ("${_SERVER['DOCUMENT_ROOT']}/menu-sinistra.php"); ?> e non funziona. Sbaglio qualcosa? |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Fai una pagina di phpinfo e verifica la variabile.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#11 |
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
è un hosting su internet.
|
![]() |
![]() |
![]() |
#12 |
Member
Iscritto dal: Jan 2006
Messaggi: 271
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:18.