我目前正在使用PHP变量从我的数据库中获取CSS值。这适用于php include,但是我想使用从DB中提取的这些变量的输出生成静态.css文件。不知道怎么回事?
css.php
<?
$sql = $dbh->prepare("SELECT * FROM styles"); //gets background_color (#000) from DB
$sql->execute();
$result = $sql->fetch();
foreach ($result as $k => $v) {
$$k = $v; //makes background_color = $background_color = #000
}
<style type="text/css">
.content {
background-color: <?=$background_color?>;
}
?>
的index.php
<? require_once "css.php"; ?>
我想使用css.php生成的静态styles.css如下所示:
.content {background-color :; }
答案 0 :(得分:2)
“我想生成静态 .css文件”
# Generate some CSS string.
$css = '.class { color: #fff }';
# Save string to a file.
file_put_contents('/path/to/static.css', $css);
通过requiring
css.php,您实际上使用动态 PHP文件重新计算并在每次点击时输出CSS,然后将其回显到当前文档中。需要是开销,因为需要访问硬盘驱动器,使浏览器使用普通的CSS文件包含标签请求单独的文件更有效。
如果你想要一个动态生成的CSS文件,那么另一种方法是将* .css作为PHP处理特定目录。
<FilesMatch "\.css$">
SetHandler application/x-httpd-php
Header set Content-type "text/css"
</FilesMatch>
然后你可以在你的“css”文件中包含PHP代码。请注意,任何其他符合htaccess规则的css文件也将由PHP解析,无论它们是否实际包含任何PHP代码。