2013-09-20 3 views
0

Я хотел бы отсортировать выходные данные из этого скрипта.Сортировка списка каталогов

Это шоу из полного каталога с некоторыми исключениями.

<?php 
if ($handle = opendir('.')) { 
    $blacklist = array('.', '..', '.svn', 'pagina.php','index.php','index.html'); 

echo "<h1>Statistics for:</h1>"; 
echo "<TABLE align=left border=1 cellpadding=5 cellspacing=0 class=whitelinks>"; 

while (false !== ($file = readdir($handle))) { 
     if (!in_array($file, $blacklist)) { 

       echo "<TR><TD><a href='./$file'>$file\n</a></TD></TR>"; 
     } 
    } 
    closedir($handle); 

echo"</TABLE>"; 
} 
?> 

Что я хотел бы сделать, так это отсортировать выходные данные из каталога на алфавите. A -> B -> C ...

Как это исправить. Я пробовал что-то вроде. Но я могу заставить его работать

ответ

0

$file поместить в массив первого, используйте sort на массиве затем распечатать HTML

$files = array(); 
while (false !== ($file = readdir($handle))) { 
    if (!in_array($file, $blacklist)) { 
     $files[] = $file; 
    } 
} 

sort($files,SORT_NATURAL); //use natsort if php is below 5.4 

foreach($files as $file) { 
    echo "<TR><TD><a href='./$file'>$file\n</a></TD></TR>"; 
} 
+0

Спасибо Патрик, но не будет работать ... – Mitchel

+0

@MitchelPersoon что делает _ «не сработает», значит, вы получаете сообщение об ошибке, не похоже ли подобное? –

Смежные вопросы