Включить: 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, поэтому никакого конфликта в этом случае не происходит.