0

私は以下を使用してディレクトリ内のすべてのjpg画像を一覧表示していますが、何らかの理由で機能していません。私の'と.sの一部が間違った場所にある可能性があり、少し混乱していると思います。 -S。

<?php
if ($handle = opendir('images/photobanner')) {
while (false !== ($file = readdir($handle)))
{
    if ($file != "." && $file != ".." && strtolower(substr($file, strrpos($file, '.') + 1)) == 'jpg')
    {
        $thelist .= '<li><a href="'.$file.'">'<img src="'.$file.'.'"/>'</a></li>';
    }
}
closedir($handle);
}
?>

<P>List of files:</p>
<UL>
<P><?=$thelist?></p>
</UL>
4

3 に答える 3

2

連結リンを以下のように変更します。

    $thelist .= '<li><a href="'.$file.'"><img src="'.$file.'"/></a></li>';

ループ宣言$thelistを開始する前に、スコープで使用可能であることを宣言します

于 2012-09-11T09:50:42.937 に答える
0

あなたの変数$thelistはあなたのwhileループでのみ知られています。

あなたがこれにあなたの始まりを変えるならば、それはうまくいくはずです:

<?php
$thelist = "";
if ($handle = opendir('images/photobanner')) {

問題の専門用語は「スコープ」です。

于 2012-09-11T09:48:14.737 に答える
0

たぶんglob()あなたに最適です、そしてあなたはいくつかの余分なものを持っています'

$thelist = '';
foreach (glob("images/photobanner/*.jpg") as $file) {
    $thelist .= '<li><a href="'.$file.'"><img src="'.$file.'"/></a></li>';
}
echo $thelist;
于 2012-09-11T09:51:36.153 に答える