Включить: css с расширением php файла?
Я хотел бы обернуть файл css в php... Поэтому я пишу заголовок для файла css и даю ему расширение php, таким образом... css.php. Вопрос в том, будет ли это работать, если страница уже используется как include... или будет ли этот новый столкновение заголовка с фреймом, на котором страница будет включена??
Ответы
Ответ 1
gnarf прибил его.
Я делаю:
<link rel="stylesheet" type="text/css" media="screen" href="<? echo TMPL ?>css/name-of-file.css.php">
а затем в верхней части вашего .css.php файла:
<?
header('Content-Type: text/css');
// print out your php-driven css...
?>
Ответ 2
Если у вас есть файл с именем 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. Если у вас есть некоторые стили, которые нужно загружать из параметров конфигурации и т.д., Которые не меняются очень часто, первый пример должен хорошо работать для вас.
Ответ 3
HTML файл:
<link rel="stylesheet" type="text/css" href="css.php"/>
css.php файл:
<?php
header("Content-type: text/css; charset=utf-8");
//your php + css code goes here
?>
Если ваша ПЕРВАЯ строка кода в вашем файле CSS.php не находится
header("Content-type: text/css; charset=utf-8");
, она не будет работать
Ответ 4
Он будет работать, если включитель script не отправит какой-либо вывод, иначе у вас будет ошибка < Headers уже отправлена .
используя ob_start() в includeer может быть трюк, чтобы избежать этого и все работает.
Кадры Html не имеют ничего общего с тем, что включает php, поэтому никакого конфликта в этом случае не происходит.