View Full Version : [PHP] File css nelle sottocartelle
fradetta
24-11-2009, 16:45
Salve a tutti,
sto realizzando un sito in php dove in ogni pagina del sito ho un include dell'header e nel l'header ovviamente il richiamo al css.
<link rel="stylesheet" type="text/css" href="style.css">
Il mio problema si presenta quando includo l'header nelle sottorcatelle del sito in quanto per richiamare il css dovrei scrivere:
<link rel="stylesheet"type="text/css" href="../style.css">
Avevo pensato di fare un header a parte o di spostare il fil css, ma non è proprio bella come solizione...
Esiste un modo per risolvere in modo pulito il problema??
Spero di aver esposto in modo chiaro il mio problema..
In attesa di risposta ringrazio anticipatamente
molto semplicemente, non puoi usare un percorso assoluto?
fradetta
24-11-2009, 20:19
hai ragione non ci avevo pensato.. grazie mille
anche se questa soluzione risolverebbe il problema solo momentaneamente..
cambiando dominio dovrei cambiare manualmente l'url.. per ora uso questa soluzione ma altre soluzioni sono ben accette
non necessariamente.
puoi usare le funzioni di manipolazione dell'url di php per generare automaticamente l'indirizzo da cui pescare il css
fradetta
24-11-2009, 22:44
ti riferisci a $_SERVER['SERVER_NAME'] ?
con percorso assoluto devo impostare anche tutti i i link della sidebar (inclusa come header)
<link rel="stylesheet" href="http://<?php echo $_SERVER['SERVER_NAME']?>/folder/style.css" >
correggimi se sbaglio in locale devo aggiungere http:// e poi dovrò toglierlo manualmente da tutti i link quando carico online giusto??
no, puoi anche lasciarlo, anzi, meglio lasciarlo. ;)
ma quanti ne hai di questi link?? io pensavo fosse solo uno che poi includi n volte nelle pagine che ne hanno bisogno
fradetta
25-11-2009, 01:13
il link per il css è solo uno, ma includo la sidebar in ogni pagina come faccio per l'header Nella sidebar ci sono altri link a diverse pagine del sito e nelle sottocartelle i percorsi dei link non vanno più bene, con il tuo sistema risolvo aggiungendo manualmente le sottocartelle dopo aver stampato $_SERVER['SERVER_NAME']. se una volta online non devo ritoccare va benissimo così visto che sono pochi link :)
grazie mille
un'altra soluzione potrebbe essere creare un file di configurazione dove memorizzi i parametri e le funzioni che ti serviranno in tutte le pagine, come ad esempio le funzioni di avvesso al DB e, nel tuo caso la prima parte del path che sarà del tipo "http://www.indirizzosito.xyz/" a cui poi andrai ad aggiundere un pezzetto personalizzato a seconda di quello che ti serve nelle varie pagine.
bottomap
25-11-2009, 13:54
Ciao,
Non mi è ben chiaro il motivo della domanda iniziale... la scritta:
<link rel="stylesheet"type="text/css" href="../style.css">
è perfettamente lecita... quello che vuoi dire è che non la gradisci come scrittura perché fa riferimento ad una posizione relativa?
In tal caso come ti è stato detto sarà necessario usare una posizione assoluta, altrimenti non ci sono impedimenti ad usare ../
Ciaociao :)
fradetta
25-11-2009, 15:44
un'altra soluzione potrebbe essere creare un file di configurazione dove memorizzi i parametri e le funzioni che ti serviranno in tutte le pagine, come ad esempio le funzioni di avvesso al DB e, nel tuo caso la prima parte del path che sarà del tipo "http://www.indirizzosito.xyz/" a cui poi andrai ad aggiundere un pezzetto personalizzato a seconda di quello che ti serve nelle varie pagine.
anche questa soluzione è motlo interessante.. credo userò questa :)
grazie ancora
Ciao,
Non mi è ben chiaro il motivo della domanda iniziale... la scritta:
<link rel="stylesheet"type="text/css" href="../style.css">
è perfettamente lecita... quello che vuoi dire è che non la gradisci come scrittura perché fa riferimento ad una posizione relativa?
In tal caso come ti è stato detto sarà necessario usare una posizione assoluta, altrimenti non ci sono impedimenti ad usare ../
Ciaociao :)
non è un porblema di gradimento.. ma se la includo con l'header come facevo prima che kurts mi illuminasse non posso impostare il link in base al livello delle sottocartelle :)
bottomap
25-11-2009, 15:54
Ciao,
Capisco...
In ogni caso una dicitura del tipo "/cartella/stile.css" (con lo slash come primo carattere) dovrebbe fare riferimento comunque alla document root del sito (diversamente dalla scritta "cartella/stile.css" che invece fa riferimento alla cartella corrente).
In questo senso, se nella root hai la tua sottocartella css, in ogni pagina e sottopagina dovresti poter usare tranquillamente:
<link rel="stylesheet"type="text/css" href="/css/style.css">
Ciaociao :)
fradetta
25-11-2009, 21:58
Ciao,
Capisco...
In ogni caso una dicitura del tipo "/cartella/stile.css" (con lo slash come primo carattere) dovrebbe fare riferimento comunque alla document root del sito (diversamente dalla scritta "cartella/stile.css" che invece fa riferimento alla cartella corrente).
In questo senso, se nella root hai la tua sottocartella css, in ogni pagina e sottopagina dovresti poter usare tranquillamente:
<link rel="stylesheet"type="text/css" href="/css/style.css">
Ciaociao :)
altra valida soluzione, forse ancora più semplice (anche se devo cmq indicare il nome della cartella in quanto non è nella root di apache... es. href="/miosito/style.css")
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.