Mi pare che glob ordini automaticamente l'array in base al nome...Codice PHP:
<?php
$files = glob('cartella_prova/*');
echo "<ul>";
foreach ($files as $file) {
$nomefile = str_replace("cartella_prova/", "", $file);
echo "[*][url='{$file}']{$nomefile}[/url]";
}
echo "[/list]";
?>