0

私はうまく機能するこのphpコードを持っていますが、唯一のことは、フォルダからロードされた画像がランダムであり、順番に数値的にロードする必要があるということです.

`

//Open images directory
$dir = opendir("../blogimg/luda_jesus");


//List files in images directoryb
while (($file = readdir($dir)) !== false)
  {
      if(substr( $file, -3 ) == "jpg" )

      {
        echo "<div class='container'><img class='lazy' id='background'  src='../blogimg/loader.gif' data-original='../blogimg/luda_jesus/" . $file . "' width='884' height='587'></div>";

        //echo "<br />";

      }
  }

closedir($dir);

?>` 

私を助けてください

4

2 に答える 2

1

あなたはこれをもっと簡単に行うことができますglob

$files = glob("../blogimg/luda_jesus/*.jpg");
natsort($files); // can also use other sort functions here, take your pick
foreach ($files as $file) {
    echo '...';
}

の前にnatsortソートするため、上記のソート関数として選択しましたが、プレーンは反対のことを行います。詳細については、配列ソート関数の比較を参照してください。2.jpg10.jpgsort

于 2013-04-06T18:46:00.843 に答える
0

「数値的に」がファイル名を意味すると仮定すると、whileループを実行してすべてのファイルを配列に入力し、並べ替えてからファイルをロードするだけです。

例:

//Open images directory
$dir = opendir("../blogimg/luda_jesus");

//List files in images directoryb
while (($file = readdir($dir)) !== false) {
   if(substr( $file, -3 ) == "jpg" ) { 
     $filelist[] = $file;
   }
}

closedir($dir);
sort($filelist);

for($i=0; $i<count($filelist)-1; $i++) {
  echo "<div class='container'>
    <img class='lazy' id='background'  
      src='../blogimg/loader.gif' 
      data-original='../blogimg/luda_jesus/" . $file . "' 
      width='884' height='587'>
   </div>";
}

別のソート方法が必要な場合は、その旨をお知らせください。

于 2013-04-06T18:46:14.747 に答える