<?php
function my_scandir($dir)
{
$files = array();
if ( $handle = opendir($dir) ) {
while ( ($file = readdir($handle)) !== false ) {
if ( $file != ".." && $file != "." ) {
if ( is_dir($dir . "/" . $file) ) {
$files[$file] = my_scandir($dir . "/" . $file);
}else {
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}
dump(my_scandir("D:\wwwroot"));
function dump($vars){
$content = "<div align=left><pre class="brush:php;toolbar:false">\n" . htmlspecialchars(print_r($vars, true)) . "\n
\n";
echo "
{$content}";
return;
}
ログイン後にコピー
opendir -- オープン ディレクトリ ハンドル
説明
resource opendir (文字列パス)
後で Closedir()、readdir()、および rewinddir() 呼び出しで使用できるディレクトリ ハンドルを返します。
path が正当なディレクトリではない場合、または権限制限やファイル システム エラーによりディレクトリを開けない場合、opendir() は FALSE を返し、E_WARNING レベルの PHP エラー メッセージを生成します。 opendir() の前に「@」記号を追加すると、エラー メッセージの出力を抑制できます。
readdir -- ディレクトリハンドルからエントリを読み取ります
説明
string readdir ( resource dir_handle)
ディレクトリ内の次のファイルのファイル名を返します。ファイル名はファイル システム内の順序で返されます。
以下の例のreaddir()の戻り値をチェックするスタイルに注意してください。戻り値がすべて等しいかどうか (同じ値と型 - 詳細については比較演算子を参照) FALSE であるかどうかを明示的にテストします。そうでない場合は、名前が FALSE と評価されるディレクトリ エントリによってループが停止します (例: "0" という名前のディレクトリ)。 )。
is_dir -- 指定されたファイル名がディレクトリであるかどうかを判断します
説明
bool is_dir ( string filename)
ファイル名が存在し、ディレクトリである場合は TRUE を返します。 filename が相対パスの場合、その相対パスは現在の作業ディレクトリに対してチェックされます。
注: この関数の結果はキャッシュされます。詳細については、clearstatcache() を参照してください。
注: この機能はリモート ファイルでは使用できません。チェックされるファイルにはサーバーのファイル システム経由でアクセスする必要があります。
scandir -- 指定されたパス内のファイルとディレクトリを一覧表示します
説明
array scandir ( string directory [, int sort_order])
ディレクトリ内のファイルとディレクトリを含む配列を返します。 directory がディレクトリでない場合は、ブール値 FALSE を返し、E_WARNING レベルのエラーを生成します。
デフォルトでは、戻り値はアルファベットの昇順に並べ替えられます。オプションの引数sorting_orderが使用される(1に設定される)場合、順序はアルファベットの降順でソートされます。
上記では、フォルダー内のすべてのファイルとサブフォルダーを走査できる関数を記述する (最も明白な) 方法を紹介しました。 、関連コンテンツも含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。