{"id":451,"date":"2014-01-26T19:33:13","date_gmt":"2014-01-26T18:33:13","guid":{"rendered":"http:\/\/florianko.de\/blog\/?p=451"},"modified":"2014-01-26T19:33:13","modified_gmt":"2014-01-26T18:33:13","slug":"wechselnde-hintergrundgrafiken-mit-php","status":"publish","type":"post","link":"http:\/\/florianko.de\/blog\/2014\/01\/26\/wechselnde-hintergrundgrafiken-mit-php\/","title":{"rendered":"Wechselnde Hintergrundgrafiken mit PHP"},"content":{"rendered":"<p>Weil ich mich gerade selbst damit auseinandersetzen musste, gibt\u2019s hier nen kleinen Schnipsel wie man mittels PHP (und nat\u00fcrlich CSS) wechselnde Hintergrundgrafiken in eine Website einbaut. Den Disclaimer von wegen Grafikgr\u00f6\u00dfe, Ladezeiten etc. erspare ich mir hier aber.<\/p>\n<p><!--more--><\/p>\n<p>Der Trick besteht darin, im HTML kein Stylesheet zu verlinken, sondern eine PHP, die das Stylesheet beinhaltet. Die Verlinkung erfolgt wie gewohnt im <code>head<\/code>-Teil der Seite, nur dass die Datei eben nicht <code>style.css<\/code>, sondern <code>style.php<\/code> hei\u00dft:<\/p>\n<pre class=\"lang:xhtml decode:true \" >&lt;link rel=\"stylesheet\"  type=\"text\/css\" href=\"style.php\" media=\"screen, projection\" \/&gt;<\/pre>\n<p>Diese <code>style.php<\/code>-Datei kann dann etwa so aussehen:<\/p>\n<pre class=\"lang:php decode:true \" >&lt;?php\n    header('content-type:text\/css');\n\n    $bild = mt_rand ( 1, 5 );\n    $src = '\/Bilder\/Background'.$bild.'.jpg';\n?&gt;\n\nbody{\n    background-image: url(&lt;? echo $src; ?&gt;);\n    background-repeat: no-repeat;\n}<\/pre>\n<p>Wichtig ist die Zeile <code>header('content-type:text\/css');<\/code>, damit das CSS richtig ankommt. Danach wird eine Zufallszahl zwischen 1 und 5 erzeugt &#8212; entsprechend der Anzahl an Bildern, die man abwechseln m\u00f6chte. Bei <code>$src<\/code> wird schlie\u00dflich der Pfad zu den Bildern hinterlegt, die nach dem Schema <code>BackgroundX.jpg<\/code> gespeichert sind, wobei das <code>X<\/code> die entsprechende Nummer widerspiegelt. Das funktioniert \u00fcbrigens nicht nur mit dem <code>body<\/code>-Element, sondern auch mit <code>div<\/code> etc.<\/p>\n<p>In der gleichen Datei lassen sich auch alle weiteren CSS-Anweisungen einbinden. Nat\u00fcrlich k\u00f6nnte man die Zufallsauswahl in eine eigene .php-Datei fassen und diese dann entsprechend aufrufen, was aber die Zahl der Verlinkungen erh\u00f6hen w\u00fcrde und \u00fcberhaupt: Warum denn kompliziert, wenn es auch einfach geht?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Weil ich mich gerade selbst damit auseinandersetzen musste, gibt\u2019s hier nen kleinen Schnipsel wie man mittels PHP (und nat\u00fcrlich CSS) wechselnde Hintergrundgrafiken in eine Website einbaut. Den Disclaimer von wegen Grafikgr\u00f6\u00dfe, Ladezeiten etc. erspare ich mir hier aber.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,11],"tags":[38,72,114],"class_list":["post-451","post","type-post","status-publish","format-standard","hentry","category-technik-it","category-web-webdesign","tag-css","tag-html","tag-php","post-preview"],"_links":{"self":[{"href":"http:\/\/florianko.de\/blog\/wp-json\/wp\/v2\/posts\/451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/florianko.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/florianko.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/florianko.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/florianko.de\/blog\/wp-json\/wp\/v2\/comments?post=451"}],"version-history":[{"count":0,"href":"http:\/\/florianko.de\/blog\/wp-json\/wp\/v2\/posts\/451\/revisions"}],"wp:attachment":[{"href":"http:\/\/florianko.de\/blog\/wp-json\/wp\/v2\/media?parent=451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/florianko.de\/blog\/wp-json\/wp\/v2\/categories?post=451"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/florianko.de\/blog\/wp-json\/wp\/v2\/tags?post=451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}