2013-03-05 168 views
0

我有一个PHP的方法,例如,它会返回一个HTML IMG tag.For例如ImageClass::getImage('sample.png' , 'myTilte')将返回一个字符串作为<img src="sample.png" title="mtTilte" />如何使用img标签

在我的CSS文件中,有地方,我用 设置背景图片

 
     div.error { 
     background-image: url('sample.png'); 
     background-repeat: no-repeat; 
     } 

如何使用ImageClass::getImage方法来代替css中的url()方法来获取background-image。

+0

'背景image'(DIV)和'src'(IMG)是不同的。 – 2013-03-05 01:46:16

回答

3

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

  1. 诠释一下你的PHP输出的样式表
  2. 在你的CSS文件

两者的执行PHP脚本这些已被回答几次across the web和这里在StackOverflow,所以我的回答是没有什么突破性的。但我要重复的完整起见答案:

解释PHP输出的样式表

通过连接一个PHP文件,而不是一个.css文件开始。然后在您的PHP文件中设置Mime类型,以便服务器将其输出解释为CSS。在代码中的行话,这将是这样的:

HTML

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

PHP

将下面的代码之前任何文本输出:

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

执行.css文件中的PHP脚本

另一种方法需要一些服务器配置。在Apache上,最简单的方法是添加这一个.htaccess file

AddType application/x-httpd-php .css 

这将使阿帕奇做它里面.php文件同样的事情,你的.css文件中:即,寻找PHP脚本和执行它。

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> 

我无法测试这一点,但我敢肯定,你明白我的意思:)