我想为我的网站制作一个小型额外菜单。是否可以获取目录中文件的名称并将它们放入菜单中。使用目录中的文件名称制作菜单
所以,如果你有一个文件目录:facebook.php; twitter.php; stackoverflow.html;你会得到一个菜单是这样的:
- Facebook的
- 叽叽喳喳
- 计算器
而且如果有可能我想选择什么样的文件,他得到。所以我希望他得到.php和.html文件的名称,但不是.css文件的名称。
有人可以帮助我吗?
我想为我的网站制作一个小型额外菜单。是否可以获取目录中文件的名称并将它们放入菜单中。使用目录中的文件名称制作菜单
所以,如果你有一个文件目录:facebook.php; twitter.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()与PATHINFO_BASENAME只得到文件名PATHINFO_FILENAME得到它没有扩展名。
现在我知道如何获取文件名,但是你是否也知道我可以如何将每个文件名放在其他li中?我不擅长PHP,但我想学习它。 –
尝试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
此问题之前已被询问 - http://stackoverflow.com/questions/8541180/best-way-to-get-files-from-a-dir-filtered-by-certain-extension-in-php – Terry
http://php.net/manual/en/function.scandir.php – ultranaut