ディレクトリ内の最後のフォルダーを取得する方法
前述したように、2 つの質問があります。
1. ディレクトリにフォルダーがあるかどうかを確認します。
2. ディレクトリ内の最後のフォルダーを取得するにはどうすればよいですか?
最後に横断する必要がない種類。 scandir を使用する必要はありません。
-----解決策---------
オペレーティング システムはディレクトリ ファイルを走査する必要がありますが、どうしてそれを走査できないのでしょうか?
名前を知らない限り
------解決策---------
シェルコマンドを実行すれば完了です。コマンドの実行を許可する
------解決策---------
最後のフォルダー名は何ですか?ディレクトリを走査し、希望どおりに並べ替えた後、最後のフォルダー名を取得しますか? ?
------解決策------------------
これがトラバーサルではないと思われる場合は、次のことを実行できます
しかし、これはカウントされるべきではありません。また、私のコードによって実装されたトラバーサルではありません
ディレクトリ名でソートされた最後のディレクトリ
。 >$ar = glob('*', GLOB_ONLYDIR);
echo end($ar);
2. 作成時刻による最後のディレクトリ
$ar = glob('*' 、GLOB_ONLYDIR);
$t = array_map('filectime', $ar);
array_multisort($t, $ar);
echo end($ar);
------解決策---------
/***************************** * ディレクトリ内のすべてのファイルを取得します * [$dir] フォルダーのパス ****************************/ 関数 deepScanDir($dir) { $fileArr = 配列(); $dirArr = 配列(); $dir = rtrim($dir, '//'); if (is_dir($dir)) { $dirHandle = opendir($dir); while (false !== ($fileName = readdir($dirHandle))) { $subFile = $dir . $fileName 。 if (is_file($subFile)) { $fileArr[] = $subFile; } elseif (is_dir($subFile) && str_replace('.', '', $fileName) != '') { $dirArr[] = $subFile; $arr = $this->deepScanDir($subFile); $dirArr = array_merge($dirArr, $arr['dir']); $fileArr = array_merge($fileArr, $arr['file']); } } Closedir($dirHandle); } 配列を返す ( 'dir' => $dirArr, 'ファイル' => $fileArr ); <div class="clear"></div>