function getFileList($dir, $filter="") {
$files = glob(rtrim($dir, '/') . '/*');
$list = array();
foreach ($files as $file) {
if (is_file($file)) {
if($filter !== ""){
if(str_contains($file, $filter))
{
$list[] = $file;
}
}else{
$list[] = $file;
}
}
if (is_dir($file)) {
$list = array_merge($list, getFileList($file, $filter));
}
}
return $list;
}
// 対象のルートフォルダを指定
$result = getFileList("sample_vue", ".html");
$html = "<ul>";
foreach ($result as &$value) {
$html .= ("<li><a href='" . $value . "'>" . $value . "</a></li>");
}
$html .= "</ul>";
echo $html;
参考
https://blog.asial.co.jp/1250