我希望在 css 文件中运行 PHP。这样做的原因是我想根据站点是在开发中还是在生产中动态设置背景图像的 URL。即
<?php Header ("Content-type: text/css; charset=utf-8");
$baseUrl = $this->basePath();
if (defined('RUNNING_FROM_ROOT'))
{
$baseUrl .= '/public';
}
?>
.readersSlidersOne {
background: url("<?php echo $baseUrl ?>/Images/backGroundImages/side_wallet.png") scroll 0 0 transparent ;
}
上面的 if 子句 基本上决定了是应该使用完整的 BASE URL 还是只使用/public
我从 this answer 了解到解决方案是创建一个以 php 结尾的 css 文件,然后将下面的代码放在文件的顶部:
Header ("Content-type: text/css; charset=utf-8");
我试过了,它确实创建了一个带有 PHP 标签的 CSS 文件 (css.php)。
然而,一旦我将实际的 php 代码放入文件中,它就会停止工作。
即
$baseUrl = $this->basePath();
最佳答案
在这种情况下,我通常会在所需页面的顶部添加特定的 css 并动态更改值。这是如果 css 是非常特定于页面的
<?php
$path = 'http://www.example.com/image.jpg';
?>
<style>
.className{
background: url(<?php echo $path; ?>);
}
</style>
或者如果你想把它放在头文件中,基本上所有文件都放在一个地方,添加 if else 语句并在页面顶部添加一个 $page 变量
<?php
// define this before including the file contaiting $path
$page = 'index'; ?>
<?php
if($page == 'index'){
$path = 'http://www.example.com/image01.jpg';
}elseif($page == 'contactus'){
$path = 'http://www.example.com/image02.jpg';
}
?>
关于php - 在 css 文件中运行 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34635569/