自动生成图库表

时间:2016-12-20 22:06:40

标签: php

我有一个脚本可以调用文件夹中的所有照片并列出它们,但是现在脚本会列出同一行中的所有照片。

我需要将它们放在像:

这样的表格中
mapDispatchToProps

然后一直持续到没有更多照片。显示照片的代码如下所示:

<table>
<tr><td>photo 1</td><td>photo 2</td><td>photo 3</td></tr>
<tr><td>photo 4</td><td>photo 5</td><td>photo 6</td></tr>
<tr><td>photo 7</td><td>photo 8</td><td>photo 9</td></tr>
</table>

有些人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

会是这样的:

<?php
echo "<table>";
$column = 0;
$closed = false;
// loop through the array of files and print them all in a list
for($index=0; $index < $indexCount; $index++) {
$extension = substr($dirArray[$index], -3);
if ($extension == ('jpg' | 'JPG')){ // list only jpgs and JPG
 if($column === 0) { 
     echo "<tr>";
     $closed = false;
 }
echo '<td><img src=" thumbnail/' . $dirArray[$index] . '" alt="Image" /><span>' . $dirArray[$index] . '</span></td>';
$column++;
if($column === 3) {
  echo "</tr>";
  $column = 0;
  $closed = true;
}
}   
}

if(!$closed) {
    echo "</tr>";
}
echo "</table>";

答案 1 :(得分:-1)

如果您真的想用PHP执行此操作并将其呈现为HTML:

创建包含所有图像的数组:

$images = [];
foreach(dirArray as $file) {
    $extension = substr($file, -3);
    if ($extension == ('jpg' | 'JPG')){
        $images[] = $file;
    }
}

然后您可以从该数组中创建块(http://php.net/manual/en/function.array-chunk.php

$columns = 3;
$rows = array_chunk($images,$columns);

然后渲染你的表:

$output = '<table>';
$i = 0;
foreach ( $rows as $row) {
    $output .= '<tr>';
    foreach($row as $file)
    {
        $output .= '<td><img src="thumbnail/' . $file . '" alt="Image" /><span>' . $file . '</span></td>';
    }

    //Add extra empty cells
    if ($i === count($rows) - 1) {
            $output .= str_repeat('<td>&nbsp;</td>', $columns - count($row));
    }
    $output .= '</tr>';

    $i++;
}
$output .= '</table>';

echo $output;

我不想使用表但使用响应式网格系统(http://www.responsivegridsystem.com/)。 您仍然可以使用上面的代码,但用正确的类替换表格部分。