我們知道織夢dedecms系統的后臺文件, 默認的排序很亂, 不是按名稱, 也不是按時間, 如果目錄內容很多的話, 很難找到自己想要的文件,實在是太不方便了, 就像下圖的排列方式那樣,找不到規律。
于是想讓這些文件列表按名字排序, 看了一下后臺的文件, 原來是因為php的函數dir引起的, 以“默認模板管理”在文件列表為例,
在后臺的找到模板文件:
/你的后臺目錄/templets/templets_default.htm (dede為你的后臺目錄), 打開這個文件找到:
03 |
$dh = dir ($templetdird); |
05 |
while ($filename=$dh-> read ()) |
09 |
if (!preg_match( "#\.htm#" , $filename)) continue ; |
11 |
$filetime = filemtime($templetdird. '/' .$filename); |
13 |
$filetime = MyDate( "Y-m-d H:i" ,$filetime); |
15 |
$fileinfo = (isset($fileinfos[$filename]) ? $fileinfos[$filename] : '未知模板' ); |
|
替換為
03 |
$files = scandir($templetdird); |
05 |
foreach ($files as $filename) |
09 |
if (!preg_match( "#\.htm#" , $filename)) continue ; |
11 |
$filetime = filemtime($templetdird. '/' .$filename); |
13 |
$filetime = MyDate( "Y-m-d H:i" ,$filetime); |
15 |
$fileinfo = (isset($fileinfos[$filename]) ? $fileinfos[$filename] : '未知模板' ); |
|
可以看得出來使用了PHP的dir函數導致的, dir()讀取的文件是無序的, 現在我們要想辦法讓他按名字排序, 這里可以改另一個讀取目錄文件的函數scandir(); 這個函數的文件會按文件名稱排序。