使一个图像(背景图像CSS)为PHP变量值


make an image (background-image CSS) into PHP variable value

我想做一个像5个产品一样的产品库,每个产品都有自己的background-image属性我使用循环来插入产品图像,所以我想让每个循环都有不同的background-image

我正在考虑像这样使用IF语句

 <?php
 $bg = 0;
 $bg1 = "url('img1.jpg')";
 $bg2 = "url('img2.jpg')";
 $bg3 = "url('img3.jpg')";
 $bg4 = "url('img4.jpg')";
 $bg5 = "url('img5.jpg')";
 if ($bg = 0){ 
  echo " <div style='background-image :$bg1 ;'>" ;
      $bg = 1;
     } else if ($bg= 1) { 
       echo " <div style='background-image :$bg2 ;'>" ;
      $bg = 2;
     } else if ($bg= 2 ) { 
       echo " <div style='background-image :$bg3 ;'>" ;
      $bg = 3;
     } else if ($bg= 3 ) { 
       echo " <div style='background-image :$bg4 ;'>" ;
      $bg = 4;
     } else if ($bg= 4 ) { 
      echo " <div style='background-image :$bg5 ;'>" ;
       $bg = 0;
     }

    echo "   </div> " ;
    code for product images
?>
上面的

是我写的简化代码,它不起作用。如果有人有不同但更简单的解决方案,我将不胜感激。

注意:图像文件与这个PHP文件在同一个目录下

谢谢

你愿意使用img标签吗?在我看来,这将是一个更好的解决方案:

代码:

<?php
$images=Array(
    "img1.jpg",
    "img2.jpg",
    "img3.jpg",
    "img4.jpg",
    "img5.jpg"
);
//
print "'n<br> Code: 'n<pre>'n".RenderThoseImages($images)."'n</pre>";
//
function RenderThoseImages($images)
{
    //
    $s="";
    //
    foreach($images as $image){
        $s.="'n<div><img src='"{$image}'"></div>";
    }
    return $s;
}
?>

输出:

<br> Code: 
<pre>
<div><img src="img1.jpg"></div>
<div><img src="img2.jpg"></div>
<div><img src="img3.jpg"></div>
<div><img src="img4.jpg"></div>
<div><img src="img5.jpg"></div>
</pre>

主要原因是当你使用background-image CSS时,你还负责在PHP中抓取图像尺寸并将高度/宽度渲染到div CSS中,或者可能在加载后创建一些javascript来修复它,从而产生不必要的头痛。