包括:带有php文件扩展名的css?

use*_*107 14 css php include

我想在php中包装一个css文件...所以我写了css文件的标题并给它一个php扩展,因此... css.php.如果页面已经被用作包含,那么这个问题是否会起作用...或者这个新的标题会与页面包含的框架发生冲突?

vir*_*yes 20

gnarf钉了它.

我做:

<link rel="stylesheet" type="text/css" media="screen" href="<? echo TMPL ?>css/name-of-file.css.php">
Run Code Online (Sandbox Code Playgroud)

然后在.css.php文件的顶部:

<?
header('Content-Type: text/css');
// print out your php-driven css...
?>
Run Code Online (Sandbox Code Playgroud)

  • 你也可以使用`header("Content-type:text/css; charset:UTF-8");` (2认同)

gna*_*arf 15

如果您有一个名为的文件,请css.php确保第一行设置正确的内容类型标题.您可能还想将会话设置内容(如果有的话)拆分为a(如果还没有)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";
  }
?>
Run Code Online (Sandbox Code Playgroud)

从您的其他PHP文件,只输出标签包括css.php,你希望使用PHP include()函数完成这个任务!

<link rel="stylesheet" type="text/css" href="css.php"/>
Run Code Online (Sandbox Code Playgroud)

虽然大多数浏览器会非常积极地缓存您的css文件,但您可能会发现动态更改该文件的内容并没有多大帮助.您可以通过向链接的href添加get参数来强制更新,如下所示:

<link rel="stylesheet" type="text/css" href="css.php?<?php echo $cssversion ?>"/>
Run Code Online (Sandbox Code Playgroud)

虽然每次参数更改时都会重新加载css文件.出于这个原因,通常更好的做法是提供静态css文件.如果您有一些需要从配置参数等加载的样式,这些样式不会经常更改,那么第一个示例应该对您很有用.


Oma*_*mar 8

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"); 它将无法正常工作