0

私が取り組んでいるアップロード リンクがあり、写真はサムネイル フォルダーにリサンプリングされます。/thumbnails フォルダーの写真を 6 列の表に投稿するにはどうすればよいですか?

以下のコードは、写真ディレクトリをスキャンします。ファイルの開始量は 2 です (フォルダーのファイルパス ($files) を var_dump するため、2 と表示されるため、それを処理するコードを作成しました。このフォルダーに写真がある場合、 PHP スクリプトは、これらの写真を 6 列のテーブルに表示することを想定しています.この部分に問題があり、私のコードはテーブルの行のみを表示し、for ループの下のすべてが実行されません.理由はわかりません.

for ループ ( $i % $Num_COLUMNS == $isInt && $i != 0) は、$i(フォルダー内の写真の数) が "6" になると、1 で$i割る$Num_COLUMNSと整数になります。つまり、新しい行を作成し、写真のアップロードが現在の行の後に行われることを意味します。このロジックはかなり悪い 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 に答える