0

我有一个 php 方法,它将返回一个 html IMG 标记。例如ImageClass::getImage('sample.png' , 'myTilte')将返回一个字符串为<img src="sample.png" title="mtTilte" />

在我的 css 文件中有我使用的地方

        div.错误{
        背景图片:url('sample.png');
        背景重复:不重复;
        }
    

我如何使用ImageClass::getImage方法来代替 css 中的 url() 方法来获取背景图像。

4

2 回答 2

3

如果可能的话,我可能会避免将 php 脚本放在你的样式表中。但如果你真的想要,你需要让服务器知道

  1. 将 PHP 输出的内容解释为样式表
  2. 在 CSS 文件中执行 PHP 脚本

这两个问题都在网络上和StackOverflow上得到了几次回答,所以我的回答并不是什么开创性的。但为了完整起见,我将重复答案:

将 PHP 输出解释为样式表

首先链接 .php 文件而不是 .css 文件。然后在您的 PHP 文件中设置 Mime 类型,以便服务器将其输出解释为 CSS。用代码术语来说,它看起来像这样:

HTML

<link rel="stylesheet" href="style.php">

PHP

将以下代码放在任何文本输出之前:

header("Content-type: text/css");

在 .css 文件中执行 PHP 脚本

另一种方法需要一些服务器配置。在 Apache 上,最简单的方法是将其添加到.htaccess 文件中

AddType application/x-httpd-php .css

这将导致 Apache 在 .css 文件中的 .php 文件中执行相同的操作:即查找 PHP 脚本并执行它。

于 2013-03-05T01:46:38.700 回答
0

你可以简单地做 CSS 内联。

<?php 
$image = ImageClass::getImage('sample.png','myTitle');
$bg_img = explode(" ",$image);
$src = substr(strpos('"',$bg_img),strlen($bg_image)-1);
echo "<div style='background-image: url(".$src.");' ></div>

我无法对此进行测试,但我相信你明白我的意思:)

于 2013-03-05T01:55:43.583 回答