A veces queremos crear variaciones en nuestra hoja de estilos... Hacer cada página de un color diferente cuando queremos hacer algo original, ya no basta. Una solución práctica para hacer que cambien este tipo de detalles es generar un archivo CSS con PHP, así no tenemos que ensuciar nuestro html.
Podemos utilizar una hoja de estilos únicamente para estos datos que queramos cambiar. El truco está en crear el archivo en PHP y definimos el header, por ejemplo:
estilo.php:
Código :
<?php
$colors = 3;
$random = rand(1,$color_txt);
$color_txt = array();
$color_txt[1] = "blue";
$color_txt[2] = "red";
$color_txt[3] = "black";
header('Content-Type: text/css');
echo 'body{margin:0;background:'.$color_txt[array_rand ( $color_txt)].';}';
?>
En el html solo linkamos en el header:
Código :
<? echo '<link href="estilo.php" rel="stylesheet" type="text/css">'; ?>
También podríamos enviar variables por POST en el link del html y funcionaria perfecto. El truco está en la línea:
Código :
header('Content-Type: text/css');Espero que les sea útil

buen tip, ...debo aprender PHP
Por Onatsu el 29 de Abril de 2008
Muchas gracias
La idea es buena, y podrias mezclar mod_rewrite para enmascararlo como un .css, las posibilidades son infinitas cuando mezclas un lenguaje de servidor.
Además revisen este script que hace basicamente esto usando solo sintaxis de css, algo viejo (2005) pero vale la pena verlo.
CSS Server Side Constants
En otras palabras, usar define era bueno en la vieja escuela de php, en los tiempos en los que php le tenía miedo a la OOP.
Por emoticoncito el 01 de Mayo de 2008
y millones de cosas mas
Por zeros el 07 de Agosto de 2008
<?php
$color_txt = array("blue", "red","black");
header('Content-Type: text/css');
echo 'body{
margin:0;
background:'.$color_txt[array_rand($color_txt)].';
}';
?>
Por Guillermo el 30 de Noviembre de 2010