php - 在 css 文件中运行 php

标签 php css

我希望在 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/

相关文章:

JavaScript 函数和按钮

javascript - 如何更好地使用jquery.mCustomScrollbar.js脚本?

css - IE9边框颜色错误?

javascript - jQuery 使用动态 ID 和定义的 CSS 属性(定义该 div 的外观和位置)创建 DIV

javascript - AngularJS $http 不返回整个 Select 语句

php - 更新数据库条目和/或保留现有条目

php - 有人用 paypal 付款后如何运行 php/html 代码

javascript - 溢出在父 div 后面发送下拉列表,z-index 不起作用

php - 如何使用 PEAR PHP Http_Request2 库在 PUT 方法中发送数据

php - CronJob 未在 GoDaddy 共享主机中启动