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

tempo.1

Cadet 4th Year
Registriert
Feb. 2007
Beiträge
93
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:
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:
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:
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:
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ß
 
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
HTML:
<link rev="stylesheet" href="styles/styles.css.php" type="text/css" />

Grüße

tewes
 
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ß
 
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
 
Zurück
Oben