ホームページ > バックエンド開発 > PHPチュートリアル > ディレクトリ内の最後のフォルダーを取得する方法

ディレクトリ内の最後のフォルダーを取得する方法

WBOY
リリース: 2016-06-13 13:34:50
オリジナル
1483 人が閲覧しました

ディレクトリ内の最後のフォルダーを取得する方法
前述したように、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);

------解決策---------

PHP コード

/*****************************
 * ディレクトリ内のすべてのファイルを取得します
 * [$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>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート