1. #1
    Cadet 4th Year
    Dabei seit
    Feb 2007
    Ort
    Heidelberg
    Beiträge
    93

    [PHP + CSS] Ich versuche das: DSS - Dynamisches Style Sheet

    Servus,

    Mittlerweile geht es mir ein bisschen auf den Keks mit den ganzen sich wiederholenden Zeilen in der CSS Datei.
    Wie einfach wäre an dieser Stelle eine for oder while schleife.
    Meine ersten Versuche waren diese:
    Im Ordner "format" habe ich zwei Dateien erstellt. Eine "style.php" und eine "style.css".
    Die Datei "style.css" hat keinen Inhalt und die datei "style.php" enthält den CSS und den PHP Code.
    style.php:
    Code [php]:
    <?php
    	for ($i=1;$i<=$bilder;$i++){
    ?>
    img.i<?=$i?>{
    	position:absolute;
    	top:40px;
    	left:<?=100+(($i-1)*400)?>px;
    }
    <?php
    	}
    ?>
    Jetzt mein Clou, der leider noch nicht funktioniert:
    Ich versuche den inhalt der datei zu parsen und in die style.css zu schreiben.
    index.php:
    Code [php]:
    <?php
    	$test=include("format/style.php");
    	$fp=fopen("format/style.css",w);
    	fwrite($fp,$test);
    	fclose($fp);
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    	<title>Layout Farbeverlauf</title>
    	<link rel="stylesheet" type="text/css" href="format/style.css">
    </head>
    <body>
    </body>
    </html>
    Anfangs habe ich versucht die Datei statt zu includen einfach mit readfile zu lesen. Da wurde sie jedoch nicht geparst.
    Desweiteren möchte ich ungerne den css Code includen, also so:
    style.php:
    Code [php]:
    <style type="text/css">
    <!--
    <?php
    	for ($i=1;$i<=$bilder;$i++){
    ?>
    img.i<?=$i?>{
    	position:absolute;
    	top:40px;
    	left:<?=100+(($i-1)*400)?>px;
    }
    <?php
    	}
    ?>
    -->
    </style>
    index.php:
    Code [php]:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    	<title>Layout Farbeverlauf</title>
    <?php
    	include("format/style.php");
    ?>
    </head>
    <body>
    </body>
    </html>
    Diese Lösung funktioniert zwar, mag ich jedoch nicht so gerne machen.
    Ich hoffe ich konnte das Problem jetzt gut beschreiben.
    Also, habt ihr eine Idee oder eine Lösung parat?

    Gruß

  2. Anzeige
    Logge dich ein, um diese Anzeige nicht zu sehen.
  3. #2
    Commander
    Dabei seit
    Sep 2005
    Beiträge
    2.472

    AW: [PHP + CSS]Ich versuche das: DSS - Dynamisches Style Sheet

    Warum kompliziert wenns auch einfach geht?
    Verbinde doch einfach deine styles.css und styles.php zu styles.css.php.
    Die wird dann genau so wie jede andere Datei auch von deine Apache geparst und du kannst Css und PHP Code in die Datei schreiben.

    Und das ganze bindest du dann mit
    Code [html]:
    <link rev="stylesheet" href="styles/styles.css.php" type="text/css" />
    Grüße

    tewes

  4. #3
    Cadet 4th Year
    Ersteller dieses Themas

    Dabei seit
    Feb 2007
    Ort
    Heidelberg
    Beiträge
    93

    AW: [PHP + CSS]Ich versuche das: DSS - Dynamisches Style Sheet

    Servus,

    das war natürlich mein erster Plan.
    Leider hat da gar nix funktioniert. Nachdem ich dann ein bisschen gegoogelt hab, kam ich immer öfter auf seiten, die behaupteten, dass die dateiendung .css sein muss, weswegen ich versucht habe über den mime type dem script zu sagen, dass meine .php datei css code enthält - ohne erfolg. Lokal auf meinem Apache konnte ich auch einstellen, das die css dateien auch geparst werden, leider hab ich aber bei meinem Webhoster keinen zugriff darauf...

    Nebenbei: bei Javascript funktionert das script.js.php.

    Oder funktioniert das bei dir? Hab ich was falsch gemacht?

    Gruß

  5. #4
    Commander
    Dabei seit
    Sep 2005
    Beiträge
    2.472

    AW: [PHP + CSS]Ich versuche das: DSS - Dynamisches Style Sheet

    Du musst noch ganz am anfang der CSS Datei einen Header senden in dem gesagt wird das es sich um eine CSS Datei Handelt.

    Probier es mal mit header("Content-type: text/css"); .
    Dann sollte es gehen.

    Grüße

    tewes

  6. #5
    Cadet 4th Year
    Ersteller dieses Themas

    Dabei seit
    Feb 2007
    Ort
    Heidelberg
    Beiträge
    93

    AW: [PHP + CSS]Ich versuche das: DSS - Dynamisches Style Sheet

    Servus,

    Ok, das funktioniert. Bin begeistert und es war so einfach...
    Vielen Dank.

    Gruß

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •