キーはファイルの最後更新時間、値はファイル名。
注意、更新時間全く一緒のファイルが存在したら、
ファイル名は常に上書きされて、最後のファイルのみ残す形になる!
$dir = "/test"; $fs = lastestFiles($dir, true); print_r($fs); function lastestFiles($dir,$init = false) { $root = scandir($dir); static $result = array(); //staticで宣言すること if($init){ $result = array(); //外部から呼ばれた時はstatic変数を初期化する } foreach($root as $value) { if($value === '.' || $value === '..') //これはスキップ { continue; } if(is_file("$dir/$value")) //ファイルならstaticハッシュに入れる { $result[filemtime("$dir/$value")]=$value; continue; } lastestFiles("$dir/$value"); //サブフォルダなら再帰する } return $result; }