Организовать рекурсию

achilova15

Есть скрипт который выводит все содержимое каталога, кроме файла index.php
<?PHP
$i = $i_f = $i_d = 0;
$handle=opendir('.');
while ($file=readdir($handle
{
if ($file<>"." and $file<>".." and $file<>"index.php")
{
$stat = stat($file);
$stat[8] = date("d/m/Y",$stat[8]);
if(is_dir($file{
echo "<li><a href=$file>$file</a></li>";
$i_d++;
}else{
echo "<TR>
<TD><a href=$file>$file</a></TD>
<TD>$stat[7]</TD>
<TD>$stat[8]</TD>
</TR>";
$i_f++;
}
$i++;
}
}
closedir($handle);
?>

Задача состоит в том, чтобы скрипт выводил каталоги и файлы в алфавитном порядке.

artimon

Сохранить всё в массив. Отсортировать. Вывести.

achilova15

А в виде кодинга слова "сохранить все в массив"

evgen5555

...
while($file=readdir(blablabla
{...
$myshittyfiles[] = $file;
...
}
sort($myshittyfiles);
...

uncle17

Там для файлов надо двумерный массив делать и его потом по одному из индексов сортировать. Писать сейчас некогда - на пару бегу

achilova15

Напиши как придешь с пары плз, очень нужно...

artimon

Ы?
<?PHP
$a = array;
$handle=opendir('.');
while ($file=readdir($handle {
if ($file != "." and $file != ".." and $file != "index.php") {
$a[$file] = stat($file);
if(is_dir($file {
$a[$file][7] = 'DIR';
}
}
}
closedir($handle);
ksort($a);
echo '<table>';
foreach($a as $file => $stat) {
echo "<TR><TD><a href='$file'>$file</a></TD>
<TD>$stat[7]</TD>
<TD>".date("d/m/Y",$stat[8])."</TD></TR>";
}
echo '</table>';
?>

achilova15

Большое спасибо!

achilova15

2, Слушай, а фишка если есть вот такая папка Test Folder, как сделать чтобы она автоматически вместо пробела ставила % как у лориена например.

artimon

echo "<TR><TD><a href='".rawurlencode($file)."'>$file</a></TD>
<TD>$stat[7]</TD>
<TD>".date("d/m/Y",$stat[8])."</TD></TR>";

PS. Надеюсь у тебя там нет файлов с русскими именами. А то глюков потом не оберёшся...

achilova15

не нету! санкс!

uncle17

это ПОКА нету. Дальше - больше

rosali

Надо же тред как назвал! Так бы и говорил уж "Написать программу".
Оставить комментарий
Имя или ник:
Комментарий: