0

次のような画像の各アルバムのサブディレクトリを含む画像フォルダーがあります

  • 画像
  • 画像/アルバム1
  • 画像/アルバム2

PHPファイルで、GLOBを使用してアルバムのサムネイルを使用して各アルバムのリンクを作成し、画像の下のすべてのフォルダーを読み取ります

$dir=glob('images/*');
$dir_listing=array();
foreach($dir as $list)  
{
if(is_dir($list))
$dir_listing[]= (basename($list));
}   

$thumbs=glob('images/thumbnails/*');
$count=0;

foreach($thumbs as $th )
{
echo" $dir_listing <br/>"; 
echo"<a href='$dir_listing[$count]' ><img src='$th' /> </a>";
    $count++;
}

ディレクトリと画像のリストを取得するために、ページの読み込みごとに Glob を使用します。

  • これを行うためのより良い方法があるかどうか知りたいです。
  • また、最終更新時刻に基づいて降順ですべてのファイルとフォルダーのリストを取得したい{最新のファイルとフォルダーが最初}。

Glob の使用は正しいですか、それともサブディレクトリとファイルをテキスト ファイルに保存してそこから読み取る必要がありますか?

4

1 に答える 1

0

これを行うためのより良い方法があるかどうかはわかりませんが、コードは確実に機能するはずです。

glob() の使用は、ディレクトリ内のファイル数が比較的少ない (10,000 未満) 場合にのみ適切なアプローチです。 " エラー。この場合、opendir(); を使用するのが最善です。

if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
    // do something with the file
    // note that '.' and '..' is returned even
}
closedir($handle);

最後に、glob() でフラグ GLOB_NOSORT を使用して、最終結果がディレクトリにリストされているものと同じになるようにします。

お役に立てれば。

于 2012-04-06T04:32:51.267 に答える