2

PHPで、フォルダーディレクトリから画像を1つずつ取得し、jqueryスライダーに表示する方法を尋ねたいのですが、このphpコードを試してみましたが、うまくいきませんか?

 <ul class="jcarousel-list">
 <li class="jcarousel-item">
 <?php 
 $directory = "data/uploads/topslider/";
 if (glob($directory . "*") != false)
 {
   $filecount = count(glob($directory . "*"));
 }
 else
 {
 } 
 $files_index = glob("data/uploads/"."top"."slider/*.*");
 for ($i=0; $i<$filecount; $i++)
 {
   $num2 = $files_index[$i];
 ?>
 <img src="<?php echo $num2;?>" width="50" height="50" alt="" /> <? 
 }?></li>
 </ul>

私はこのように表示したい:

Image1 Imag2 Image3......など 単一のフォルダまたはディレクトリから

4

1 に答える 1

2

確認する主な項目は次の 4 つです。

  1. $directoryPHP の現在の作業ディレクトリに対するパスは正しいですか? 一時的なecho getcwd();. コードが機能するには、「データ」フォルダーの親ディレクトリを返す必要があります。

  2. dataWeb 上の現在のページからフォルダにアクセスできますか? たとえば、手動で URL からページを削除し (たとえば、 )、フォルダー内の存在することがわかっている画像の場所index.phpを追加した場合、画像はブラウザーに正しく読み込まれますか? そうでない場合は、タグで属性を作成する方法を更新する必要があります。data/uploads/topslider/someimage.pngsomeimage.pngtopslidersrcimg

  3. すべての画像に1 つしか追加jcarousel-itemしていませんが、これは私には正しくないようです。画像ごとにリスト項目を追加することが期待されていると思います。

  4. 処理する必要があるファイルの数を確認するためだけに、glob を 2 回呼び出す必要はありません。foreachステートメントを 1 回実行するだけです。

    echo '<ul class="jcarousel-list">';
    foreach(glob($directory . '*') as $filename) {
        echo '<li class="jcarousel-item"><img src="'.$filename.'" width="50" height="50" alt="" /></li>';
    }
    echo '</ul>';
    
于 2013-02-28T00:11:32.157 に答える