0

サムネイルのディレクトリをスキャンしてページにエコーするスクリプトがあります。それはうまく機能しますが、サムネイルはクリックできません、そして私は本当にこれが事実であることを望みます。echo "<img src='$thumbnail' class='resizesmall'>"; サムネイルがエコーされる行です。PHP内の大きな画像へのパスを壊さずに書き込む方法がわかりません。たぶん、これはforeachステートメント内で実行する必要がありますか?ご協力いただきありがとうございます?

$dir = "../mysite/thumbnails/";
$dh = opendir($dir);

// echo "$dh";
$gallery = array();
while($filename = readdir($dh))
{
$filepath = $dir.$filename;

//pregmatch used to be ereg
if (is_file($filepath) and preg_match("/\.png/",$filename))
{
$gallery[] = $filepath;
}
}
sort($gallery);
foreach($gallery as $thumbnail)
{
echo "<img src='$thumbnail' class='resizesmall'>";
}
?>
</div>
<??>
4

1 に答える 1

1

最も簡単な方法は、親指とフルサイズの画像に同じ名前を付けた状況を設定することです。したがって、thumbs/image1.png と full/image1.png があるかもしれません。次に、$thumbnail を使用する代わりに、変数 $image などを使用して、コードを読みやすくします。また、$filepath をミックスから除外して、$image が単なるファイル名になるようにすることもできます。

foreach($gallery as $image)
{
    echo "<a href='full/$image'><img src='thumb/$image' class='resizesmall'></a>";
}

エラーや悪い UX を防ぐためだけに、一致する画像があることを確認するために、いくつかのチェックを投入することをお勧めします。ただし、上記のコードは機能するはずです。

于 2012-05-29T02:44:16.633 に答える