Avatar billede stonedbush Nybegynder
28. oktober 2005 - 18:29 Der er 10 kommentarer og
1 løsning

Indlæs og vis css data

Hej.

Jeg har set nogle steder at man kan få php til at hente og indlæse et stylesheet, så man så kan ændre i det og gemme det igen.
Men hvordan foregår det, for jeg kunne godt tænke mig det, da det er nemmere end at lave filen, uploade den, tage den ned igen, hvis der er noget der skal ændres senere hen og så uploade den igen.
Er der nogen der kan lave et script til det, eller fortælle mig hvordan det skal laves.
Havde tænkt mig at css'en bliver noget lignende dette

body{
background-color: <input>;
}

td.top{
background-color: <input>;
font-size: <input>;
color: <input>;
}

td.indhold{
background-color: <input>;
font-size: <input>;
color: <input>;
}

td.main{
background-color: <input>;
font-size: <input>;
color: <input>;
}

Jeg havde så tænkt mig at php siden så skulle vise hver ting i sin  egen text box, hvor man så kan ændre i det.
Og så skal den gemme den som samme css fil.
Den skal altså tage og smide det gamle ud, og ind med det nye.
Er det svært at lave???
Avatar billede jakobdo Ekspert
28. oktober 2005 - 20:59 #1
Du kunne indlæse hele filen:
style.css med funktionen: file eller file_get_contents
Så smider du indholdet i en <textbox>$inhold</textarea>
Og når det så submittes, gemmer du det nye data som style.css
Avatar billede stonedbush Nybegynder
28. oktober 2005 - 21:52 #2
ja det kunne jeg altid gøre, men det ville være smartere med den anden.
Avatar billede jakobdo Ekspert
28. oktober 2005 - 22:03 #3
Så må du forklare en smule!
Vil den altid have det felter du snakker om der?
Eller skal det kunne udvides af brugeren selv?
For måske en løsning med en database ville være værd at overveje.
Avatar billede stonedbush Nybegynder
28. oktober 2005 - 23:47 #4
Ja jeg havde tænkt mig at det skulle være fastsat at der kun findes X antal felter.
Og har også tænkt på det med database, men da alle links og alt andet, undtaget selve siderne er bygget op i database, så tænkte jeg på om det ikke vil sløve siden en del??
Men det kunne godt være at jeg bare skulle tage og lave det i databasen istedet for.
Avatar billede jakobdo Ekspert
29. oktober 2005 - 08:26 #5
Jeg havde tænkt lidt i denne stil: http://www.codebreaker.dk/exp/659984.php
Det skal så forfines, så det henter info fra DB, og så gemmer dem igen bagefter. (håber du forstår)
Avatar billede stonedbush Nybegynder
29. oktober 2005 - 10:13 #6
Ja det ser ud til at være ret godt.
Jeg må lige prøve det efter :)
Jeg tænkte i nat på at gøre det nogenlunde sådan her:

På ret css siden, skal man skrive hvilke farver og fonte osv.
Det tager den så og gemmer i db.
Så laver den en test side for at vise hvordan det kommer til at se ud.
Den tager så og gemmer en css fil med de oplysninger som man har indtastet.
Og har gemt indstillingerne i db, så næste gang man vil rette i den, viser den de sidste indstillinger fra db i text felterne.
Så har man altid de tidligere indstillinger. Og så retter man i dem, og så bliver den gamle css fil slettet og der bliver lavet en ny.
Er det ikke den bedste måde at gøre det på, da den så vil blive cached???
Avatar billede jakobdo Ekspert
29. oktober 2005 - 10:17 #7
Du har selvfølgelig ret i det så vil gøre at den ikke skal hente info fra DB hver gang, så det med at skrive skidtet til en "cache.style.css" ville nok ikke være en skidt ide! :o)
Avatar billede stonedbush Nybegynder
29. oktober 2005 - 10:21 #8
Jeg prøver det lige.
Skriver tilbage hvis det virker :)
Avatar billede stonedbush Nybegynder
30. oktober 2005 - 15:03 #9
Det virker.
Så, vil du have nogle point??
Avatar billede jakobdo Ekspert
30. oktober 2005 - 15:09 #10
Svar!
Avatar billede jakobdo Ekspert
30. oktober 2005 - 15:54 #11
Takker for point!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester