我想为我的网站制作一个额外的小菜单。是否可以获取目录中文件的名称并将它们放在菜单中。
因此,如果您有一个包含文件的目录:facebook.php;推特.php;stackoverflow.html; 你会得到一个这样的菜单:
- 推特
- 堆栈溢出
如果可能的话,我想选择他得到什么样的文件。所以我希望他得到 .php 和 .html 文件的名称,而不是 .css 文件的名称。
有人可以帮我吗?
我喜欢 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 以获取它而无需扩展名。
尝试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