显示图像阵列

时间:2014-04-14 04:26:56

标签: php html loops html-table nested

我正试图在5×3表格中显示图像。

如果全部为空(blank.png),我可以显示图像。

这是代码

<?PHP

$ds ='\image';
$imagefile = array("EX_W1_01.png", "EX_W1_02.png", "EX_W2_01.png","EX_W3_01.png");
echo "<pre>"; print_r($imagefile);
$file = 'blank.png';
$d = $ds.$file;

echo "<table border = 1 width=\"540px\" cellspacing=\"0px\" cellpadding=\"0px\">";
for($row=1;$row<=5;$row++){
   echo "<tr>";

      for($col=1;$col<=3;$col++){

           // echo"<td height=60px>W$row</td>";
           //if()
           echo"<td height=60px>W$row<img border = 1 height = 120 width = 120 src = $d ></td>" .PHP_EOL;

      }
   echo "</tr>";

}
echo "</table>";     
?>

我想显示基于中间文件名数组$imagefile eg W1, W2的图像,如果不在数组中,我将显示blank.png。

我能够通过此代码获取中间文件名,但我无法以正确的行/列显示图像。

for($i=0;$i<count($imagefile); $i++)  {
    $wd = substr($imagefile[$i], 3, strpos($imagefile[$i], '_'));
}

2 个答案:

答案 0 :(得分:0)

你能试试吗,

根据您的代码,在回显图像时添加这些

$wd = substr($imagefile[$i], 3, strpos($imagefile[$i], '_'));
if($wd == *the increment either row or col*) 
{
   echo"<td height=60px>W$row<img border = 1 height = 120 width = 120 src = $d ></td>" .PHP_EOL;       
}
else
{
   echo"<td height=60px>No image</td>" .PHP_EOL;
}

看看它是否有效。

答案 1 :(得分:0)

这是

<?php

$ds ='/image';
$imagefile = array("EX_W1_01.png", "EX_W1_02.png", "EX_W2_01.png","EX_W3_01.png");
//echo "<pre>"; print_r($imagefile);
$default = 'blank.png';
?>

<table border = 1 width=\"540px\" cellspacing=\"0px\" cellpadding=\"0px\">
<?php
for($row=1;$row<=5;$row++){
?>
    <tr>
<?php
    for($col=1;$col<=3;$col++){
        // construct the file name
        $filename = 'EX_W' . $row . '_0' . $col . '.png';
        // set the default image file
        $imgPath = $ds . '/' . $default;
        // in case the file name exists in your array with images,
        // set the correct path to the image
        if (in_array($filename, $imagefile)) {
            $imgPath = $ds . '/' . $filename;
        } 
?>
        <td height=60px>
            <img border="1" height="120" width="120" src="<?php echo $imgPath; ?>"/>
        </td>
<?php } ?>
    </tr>
<?php
}
?>
</table>

正如你所看到的,我也更喜欢&#34;嵌入&#34; HTML中的PHP代码。如果可以按原样解析,那么通过PHP引擎输出HTML代码是没有意义的; - )