0

質問から、ディレクトリ内のファイル名を読み取って配列に追加する簡単な方法はありますか? 、ディレクトリにさまざまなファイルが保存されています。今、私は.jpgファイルを取得して配列に入れたいので、時間に従って配列をソートして画像を表示できます。のようなファイル名を持つ jpeg ファイルを取得したい

(日付はこちら)-img_gen.jpg. すなわち。20131027123001-img-gen.jpg 20131030123102-img-gen.jpg

PHPでこれを行うにはどうすればよいですか?誰かがこれを行うための正しいステップバイステップのコードを手伝ってくれますか?

私はこのコードを持っていますが、うまくいきません。

$ignore = array("..",".");
$dir = opendir("/home3/site/public_html/Master/uploader/uploader/");
$images = array();
$sortedimages = array();

//List files in images directory
while (($file = readdir($dir)) !== false)
    if (!in_array($file, $ignore))
        $images[] = $file;

foreach ($images as $image) {
    $filetime = filemtime("uploader/$image");
    $sortedimages[] = $filetime;
}

krsort($sortedimages);

foreach ($sortedimages as $sorted) {
    echo "$sorted<br/>";
}

closedir($dir);

ゲートウェイのタイムアウトが発生するだけです。だから私は本当にこれよりも優れた作業コードを取得する必要があると思います

私のコードを編集するか、いくつかのコードを教えてください。前もって感謝します :)

4

1 に答える 1

1

glob()usort( ) を使用します。

$dir = './';
$files = glob($dir . '*.jpg');

usort($files, function ($file1, $file2) use ($dir) {
  $f1 = filemtime($dir . $file1);
  $f2 = filemtime($dir . $file2);

  if ($f1 == $f2) {
    return 0;
  }
  return ($f1 < $f2) ? -1 : 1;
});
于 2013-10-27T12:26:12.773 に答える