0

我正在处理一个上传链接,照片被重新采样到缩略图文件夹。如何将 /thumbnails 文件夹中的照片以 6 列的形式发布?

我下面的代码将扫描照片目录,文件的起始数量是2(因为我var_dump文件夹文件路径($files),它说2,所以我已经构建了代码来处理它。当这个文件夹中有照片时, PHP脚本假设在一个6列的表格中显示这些照片。我在这部分有问题,我的代码只显示表格行,for循环下的所有内容都没有运行。我不知道为什么。

for 循环 ( $i % $Num_COLUMNS == $isInt && $i != 0),我想说,当$i(文件夹中的照片数量)达到“6”时,$i除以$Num_COLUMNS1 或整数。这意味着是时候创建一个新行,图片上传将在当前行之后进行。这种逻辑在 IMO 中非常糟糕,我想不出……更好的方法。

$files = scandir("./thumbnails");
$numFiles = count($files);
$Num_COLUMNS = 6;
var_dump($files);
var_dump($numFiles);

if($numFiles < 3)
{
echo "<p>Gallery is empty </p>";
}
else 
{
echo "<p> Click on thumbnail to view larger picture! </p>";
echo "<table><tr>";
echo "the table row!";
for($i = 0; $i < $numFiles -2; $i++)
{

    if($i % $Num_COLUMNS == 0 && $i != 0)
        {
            echo "</tr><tr>";
            echo "The table row";
        }
    echo "<td>";
    echo "the table data, I CANNOT SEE ANYTHING HERE";
// below is the photo I post, and it is a link that views the picture. 
echo "<a href='ViewPicture.php?src=".urlencode($files[$i +2])."' target='_blank'><img src='".thumbnails.urlencode($files[$i + 2])."' alt='".$files[$i + 2]."' title='".$files[$i + 2]."'/></a>'";

    echo "end data table, CANNOT SEE THIS EITHER";
    echo "</td>";
}
echo "</tr> </table>";
}
4

1 回答 1

1

你为什么要比较 $i % $Num_COLUMNS (一个整数)和 $isInt (一个布尔值)?

你可以这样做:

<?php
//if $i is divisible by the number of columns
//and it is not 0
if($i % $Num_COLUMNS == 0 && $i != 0)
{
    echo "</tr><tr>";
    echo "The table row";
}
?>

此外,当您输出图像时,它应该是:

<?php
echo "<a href='ViewPicture.php?src=".urlencode($files[i +2])."' target='_blank'><img src='".urlencode('./thumbnails/'.$files[$i + 2])."' alt='".$files[$i + 2]."' title='".$files[$i + 2]."'/></a>'";
?>
于 2012-10-22T23:20:12.643 回答