在css中运行php代码

sam*_*yb8 1 css php echo

我在一个css文件中添加了一些php但是php似乎没有运行,而是我只看到打印整个php代码..

.large {
width: 175px; 
height: 175px;
position: absolute;
border-radius: 100%;
box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.85), 
0 0 7px 7px rgba(0, 0, 0, 0.25), 
inset 0 0 20px 2px rgba(0, 0, 0, 0.25);
background: url('http://www.tahara.es/images/LargeImage/<?php echo $row2[imageLarge]; ?>.jpg') no-repeat;
}
Run Code Online (Sandbox Code Playgroud)

我做错了吗?或者在CSS中运行PHP是否疯狂?

jmo*_*253 5

默认情况下,大多数Apache安装只会解释实际.php文件中的PHP代码.如果不重新配置Apache(或者您正在运行的任何Web服务器),PHP处理器将不会处理其他文件类型,并且它们 - 默认情况下 - 将被呈现给浏览器,无论该文件类型的默认值是什么.

但是,从PHP中,您可以生成任何类型的内容.大多数PHP新手在考虑PHP会产生什么时会想到HTML,但这只是开始:

<?php header('Content-Type:text/css'); ?>
<? /* php code defining $row2 */ ?>
.large {
    width: 175px; 
    height: 175px;
    position: absolute;
    border-radius: 100%;
    box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.85), 
    0 0 7px 7px rgba(0, 0, 0, 0.25), 
    inset 0 0 20px 2px rgba(0, 0, 0, 0.25);
    background: url('http://www.tahara.es/images/LargeImage/<?php echo $row2[imageLarge]; ?>.jpg') no-repeat;
 }
Run Code Online (Sandbox Code Playgroud)

使用此技术,您可以生成HTML,JavaScript,CSS,XML,JSON和其他类型的内容.

现在,在将此服务器生成的CSS注入您的网页时,链接标记将如下所示:

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

请注意,扩展名为.php,而不是.css,并且作为最终产品发送到浏览器的内容是"text/css".