Permalink

3

Wechselnde Hintergrundgrafiken mit PHP

Weil ich mich gera­de selbst damit aus­ein­an­der­set­zen muss­te, gibt’s hier nen klei­nen Schnip­sel wie man mit­tels PHP (und natür­lich CSS) wech­seln­de Hin­ter­grund­gra­fi­ken in eine Web­site ein­baut. Den Dis­c­lai­mer von wegen Gra­fik­grö­ße, Lade­zei­ten etc. erspa­re ich mir hier aber.

Der Trick besteht dar­in, im HTML kein Style­sheet zu ver­lin­ken, son­dern eine PHP, die das Style­sheet beinhal­tet. Die Ver­lin­kung erfolgt wie gewohnt im head-Teil der Sei­te, nur dass die Datei eben nicht style.css, son­dern style.php heißt:

Die­se style.php-Datei kann dann etwa so aus­se­hen:

Wich­tig ist die Zei­le header('content-type:text/css');, damit das CSS rich­tig ankommt. Danach wird eine Zufalls­zahl zwi­schen 1 und 5 erzeugt — ent­spre­chend der Anzahl an Bil­dern, die man abwech­seln möch­te. Bei $src wird schließ­lich der Pfad zu den Bil­dern hin­ter­legt, die nach dem Sche­ma BackgroundX.jpg gespei­chert sind, wobei das X die ent­spre­chen­de Num­mer wider­spie­gelt. Das funk­tio­niert übri­gens nicht nur mit dem body-Ele­ment, son­dern auch mit div etc.

In der glei­chen Datei las­sen sich auch alle wei­te­ren CSS-Anwei­sun­gen ein­bin­den. Natür­lich könn­te man die Zufalls­aus­wahl in eine eige­ne .php-Datei fas­sen und die­se dann ent­spre­chend auf­ru­fen, was aber die Zahl der Ver­lin­kun­gen erhö­hen wür­de und über­haupt: War­um denn kom­pli­ziert, wenn es auch ein­fach geht?

    2 Klicks für mehr Datenschutz: Erst nach einem Klick wird der Button aktiv, da schon beim Aktivieren Daten an Dritte übertragen werden können.

Kategorien Technik & IT, Web & Webdesign Schlagwörter , ,

3 Kommentare

  1. Hal­lo,
    ich möch­te tat­säch­lich nur die­se style.php extra aus der style.css auf­ru­fen.
    Wie sieht das dann aus.

    Dan­ke

    • Hi,
      ich glau­be ich ste­he gera­de ein biss­chen auf dem Schlauch und ver­ste­he die Fra­ge nicht.
      Du möch­test die .php- aus der .css-Datei auf­ru­fen? Und wenn ja, wozu? Die .php-Datei kann ja theo­re­tisch alle wei­te­ren For­ma­tie­run­gen ent­hal­ten. Oder Du ver­linkst aus dem html her­aus zusätz­lich auf ein wei­te­res style.css — die Ein­bin­dung meh­re­rer Style­she­ets ist ja an sich kein Pro­blem.
      Ich hof­fe das konn­te Dei­ne Fra­ge eini­ger­ma­ßen beant­wor­ten. Ansons­ten ger­ne noch­mal nach­fra­gen 🙂

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.