PHP再帰取得フォルダ内のファイル
1347 ワード
従来の方法では、フォルダの下のコンテンツを読み込むときにopendir readdirを使用してwhileと組み合わせて現在のフォルダと親フォルダをループフィルタリングして操作しています.
//方法2//scandir関数を使用して、whileの代わりにフォルダの下の内容をスキャンして繰り返し読み込むことができます
function readFolderFiles($path)
{
$list = [];
$resource = opendir($path);
while ($file = readdir($resource))
{
//
if ($file != ".." && $file != ".")
{
if (is_dir($path . "/" . $file))
{
// ,
$list[$file] = readFolderFiles($path . "/" . $file);
}
else
{
//
$list[] = $file;
}
}
}
closedir($resource);
return $list ? $list : [];
}
//方法2//scandir関数を使用して、whileの代わりにフォルダの下の内容をスキャンして繰り返し読み込むことができます
function scandirFolder($path)
{
$list = [];
$temp_list = scandir($path);
foreach ($temp_list as $file)
{
//
if ($file != ".." && $file != ".")
{
if (is_dir($path . "/" . $file))
{
// ,
$list[$file] = scandirFolder($path . "/" . $file);
}
else
{
//
$list[] = $file;
}
}
}
return $list;
}