我想爲我的網站製作一個小型額外菜單。是否可以獲取目錄中文件的名稱並將它們放入菜單中。使用目錄中的文件名稱制作菜單
所以,如果你有一個文件目錄: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