如何在 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>