如何在 CSS 文件中使用 PHP 代码
How can I use PHP code in a CSS file
我想从 MySQL 数据库中找到图像源并将其分配给 css 样式。我刚刚将 .css
扩展名更改为 .php
。
它确实可以与 XAMPP 一起使用并运行我想要的一切,但是当我在 cpanel 中上传我的代码时它无法正常工作。
我在 css 文件中使用了这段代码:
页面顶部:
<?php include '../Connections/Base.php'; ?>
<?php header("Content-type: text/css; charset: UTF-8"); ?>
部分款式:
.box {
overflow: hidden;
display:block;
border:4px solid #171717;
position:absolute;
cursor: pointer;
float:left;
display: inline-block;
zoom: 1;
background:url(<?php
$query = "SELECT imape_path FROM MyTable WHERE number='5' LIMIT 1";
//echo $query;
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_assoc()) {
echo $row['imape_path'];
}
}
?>) no-repeat;
}
我该如何解决这个问题?
就我个人而言,我认为这不是要解决的正确问题。
分离标记和样式的全部意义在于简化事情。我认为将它如此严格地分开几乎没有什么价值,你必须混合使用 css、php 和 sql(你只是将同样的问题移到了别处)。
我的建议是在 html 页面本身使用内联 css 配置 .box
的背景,并将 url 作为任何其他值注入:
<div class="box" style="background: url('<?php ... ?>')">...</div>
您可以尝试使用 PHP 代码在文件上保留 .css 扩展名,并在 .htaccess 中设置规则以将文件解析为 PHP (source).
<FilesMatch "^.*?style.*?$">
SetHandler php5-script
</FilesMatch>
我想从 MySQL 数据库中找到图像源并将其分配给 css 样式。我刚刚将 .css
扩展名更改为 .php
。
它确实可以与 XAMPP 一起使用并运行我想要的一切,但是当我在 cpanel 中上传我的代码时它无法正常工作。
我在 css 文件中使用了这段代码:
页面顶部:
<?php include '../Connections/Base.php'; ?>
<?php header("Content-type: text/css; charset: UTF-8"); ?>
部分款式:
.box {
overflow: hidden;
display:block;
border:4px solid #171717;
position:absolute;
cursor: pointer;
float:left;
display: inline-block;
zoom: 1;
background:url(<?php
$query = "SELECT imape_path FROM MyTable WHERE number='5' LIMIT 1";
//echo $query;
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_assoc()) {
echo $row['imape_path'];
}
}
?>) no-repeat;
}
我该如何解决这个问题?
就我个人而言,我认为这不是要解决的正确问题。
分离标记和样式的全部意义在于简化事情。我认为将它如此严格地分开几乎没有什么价值,你必须混合使用 css、php 和 sql(你只是将同样的问题移到了别处)。
我的建议是在 html 页面本身使用内联 css 配置 .box
的背景,并将 url 作为任何其他值注入:
<div class="box" style="background: url('<?php ... ?>')">...</div>
您可以尝试使用 PHP 代码在文件上保留 .css 扩展名,并在 .htaccess 中设置规则以将文件解析为 PHP (source).
<FilesMatch "^.*?style.*?$">
SetHandler php5-script
</FilesMatch>