Ragaaaa...
voi come fate a scrivere dentro un file css i nuovi valori presi da un db? Io vorrei modificare dinamicamente le misure di alcune immagini... ma vorrei anche mantenere i file CSS!!!
Help me please...
Ragaaaa...
voi come fate a scrivere dentro un file css i nuovi valori presi da un db? Io vorrei modificare dinamicamente le misure di alcune immagini... ma vorrei anche mantenere i file CSS!!!
Help me please...
la modifica la devi fare per ogni singolo utente e quindi differenziata?
se si, ti conviene..scrivere il codice in un file esterno che includi alle pagine e gli passi i valori prelevandoli dal DB. Essendo che PHP lavora lato server, stamperà per primo i dati sul file.
In un recente post avevo risposto così a una domanda simile
Soluzioni possibili:
1)Usi gli attributi style in linea
2)Generi un file .css temporaneo da linkare alla pagina generata
3)Inserisci lo stile nel documento (<style>...</style> )
Usi un unico css esterno e risolvi i dettagli con una delle soluzioni precedenti.
Se gli utenti sono limitati potrebbe essere conveniente la soluzione 2: in questo modo hai un caching del lavoro di generazione dei CSS.
In linea generale la 1) e la 3) vanno meglio e ti fanno risparmiare sul numero di file presenti sul server.
In particolare la 3) è quella che userei:
crei un template stile.css con dei parametri da sostituire, al momento della generazione, con i dati dell'utente.
Quindi ricopi il template compilato tra i tag <style> e </style> del documento.
Rimane sempre la soluzione 'ibrida' in cui hai un file css esterno fisso da completare con un mini CSS (esterno o inline) per la parte 'dinamica'.
ok grazie per l'aiuto... ma la soluzione n°2 come si potrebbe attivare? nel senso: io fino ad ora ho solo scritto in dei file txt come posso dare le posizioni giste nel file .css? E' pesante per il server un lavoro del genere?
cmq penso che mi "fionderò" sulla 3a soluzione...
Grazie mille ancora...
chiaramente non può essere un .css, ma .php, dove all'interno scrivi il codice css + php
ovvero
css.php
e nella pagina dove mostri i dati file un include del file pseudo css (chiamalo magari css.php)Codice PHP:
#chiaramente fai prima le estrazioni dal db in questo file!
echo "<style>
.indent, .indent td {
font-size: ".$row["valoredb"]."px;
}
</style>";
mostra.php
Codice PHP:
include("css.php");
arigrazie... allora non posso scrivere direttamente il file .css come si fa con i txt? avevo capito male, sorry...
cmq grazie per la soluzione...
solo con estensione .php o l'interprete php non elabora nulla.
In linea di principio se crei il file gli puoi dare l'estensione che vuoi. A me piace però l'idea dei template.
Con i template basta che carichi in una stringa il template e poi sostituisci le parti dinamiche con quello che vuoi.
Le parti dinamiche potrebbero essere per esempio
.elemento{color:{colore};}
Sostituisci quindi inserisci nella pagina tra <style> e </style>
Il risultato finale lo invii al browser con un unico echo.