Если у вас есть файл с именем css.php
, просто убедитесь, что в первых строках указан правильный заголовок типа контента. Вы также можете разделить ваши настройки сеанса (если они есть) на bootstrap.php
, если вы этого еще не сделали. Быстрый пример загрузки некоторой информации о стиле из базы данных:
<?php
header("Content-Type: text/css");
include('bootstrap.php');
// fetch some information to print out our styles
$result = mysql_query("SELECT * FROM site_styles");
while ($row = mysql_fetch_assoc($result)) {
echo $row["selector"]." {\n".$row["css"]."\n}\n";
}
?>
Из вашего другого php-файла просто выведите тег для включения css.php, вы не хотите использовать функцию php include()
для этой задачи!
<link rel="stylesheet" type="text/css" href="css.php"/>
Хотя большинство браузеров довольно агрессивно кешируют ваш css-файл, вы можете обнаружить, что динамическое изменение содержимого этого файла не приносит особой пользы. Вы можете принудительно обновить его, добавив параметр get в href ссылки, например, так:
<link rel="stylesheet" type="text/css" href="css.php?<?php echo $cssversion ?>"/>
Хотя это будет полностью перезагружать ваш CSS-файл каждый раз, когда изменяется этот параметр. По этой причине обычно рекомендуется обслуживать статические файлы CSS. Если у вас есть несколько стилей, которые необходимо загрузить из параметров конфигурации и т. Д., Которые меняются не очень часто, первый пример должен работать для вас весьма неплохо.