4上传图像后添加tr

时间:2014-04-05 09:03:51

标签: php html html-table

我想要一个上传图片库,每个tr显示4张图片。 需要在某个地方有一个循环,但我不能让它工作。  当tr中有4个图像时,需要自动添加tr。

<?php
    $folder = 'uploads/';
    $filetype = '*.*';
    $files = glob($folder.$filetype);
    $count = count($files);

    $sortedArray = array();
    for ($i = 0; $i < $count; $i++) {
        $sortedArray[date ('YmdHis', filemtime($files[$i]))] = $files[$i];
    }

    krsort($sortedArray);
    echo '<table>';
    foreach ($sortedArray as &$filename) {
        echo '<td align="center">';
        echo '<a name="'.$filename.'" href="#'.$filename.'"><img src="'.$filename.'" /></a>';
        echo 'Bestand naam: ' . substr($filename,strlen($folder),strpos($filename, '.')-strlen($folder));
        echo '</td>';
    }
    echo '</table>';

?>

3 个答案:

答案 0 :(得分:1)

让一个计数器,比如$ i和你的foreach循环一起运行,每次循环运行时,它会加1。检查&#34;每四个元素&#34; if($ i%4 == 0)

答案 1 :(得分:0)

在循环中使用计数器。它应该是这样的:

echo '<table>';
$ctr = 0;
foreach ($sortedArray as &$filename) {
    echo ($ctr % 4 == 0) ? "<tr>" : "";
    echo '<td align="center">';
    echo '<a name="'.$filename.'" href="#'.$filename.'"><img src="'.$filename.'" /></a>';
    echo 'Bestand naam: ' . substr($filename,strlen($folder),strpos($filename, '.')-strlen($folder));
    echo '</td>';
    $ctr++;
    echo ($ctr % 4 == 0) ? "</tr>" : "";

}
echo '</table>';

答案 2 :(得分:0)

<?php
$folder = 'uploads/';
$filetype = '*.*';
$files = glob($folder . $filetype);
$count = count($files);
$sortedArray = array();
$i = 0;
krsort($sortedArray);
echo '<table><tr>';

foreach($sortedArray as & $filename)
{
    echo '<td align="center">';
    echo '<a name="' . $filename . '" href="#' . $filename . '"><img src="' . $filename . '"/> </a>';
    echo 'Bestand naam: ' . substr($filename, strlen($folder) , strpos($filename, '.') - strlen($folder));
    echo '</td>';
    if ($i % 4 == 0)
    {
        echo '</tr><tr>';
    }

    $i++;
}

echo '</tr></table>';
?>