创建一个菜单,其中包含目录中文件的名称

时间:2013-10-12 15:26:28

标签: php html menu directory

我想为我的网站制作一个额外的小菜单。是否可以获取目录中文件的名称并将其放入菜单中。

所以,如果你有一个文件目录:facebook.php; twitter.php; stackoverflow.html;你会得到这样一个菜单:

  • 微博
  • 计算器

如果有可能我想选择他得到的文件类型。所以我希望他得到.php和.html文件的名称,而不是.css文件的名称。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:3)

我喜欢glob():

foreach(glob("$dir/{*.php,*.html}", GLOB_BRACE) as $file) {
    //whatever
}

$files = glob("$dir/{*.php,*.html}", GLOB_BRACE); //then use $files wherever

您可以使用带有PATHINFO_BASENAME的pathinfo()来获取文件名PATHINFO_FILENAME,以便在没有扩展名的情况下获取它。

答案 1 :(得分:0)

尝试使用scandir()方法

在循环检查中,当前文件是带有is_dir()的目录。然后你可以使用[dirname] / [dirname.php]获取路径。检查是否存在文件,然后您可以显示该链接。

$files = scandir('menus');
$links = array();
foreach ($files as $file) {
   if ($file == "." || $file == "..")
      continue;

   if (is_dir($file)) {
      $menuFile = "./menus/$file/$file.php";
      if (is_file($menuFile)) {
         $links[$file] = $menuFile;
      }
   }
}

//display the links