Zapoznaj się z funkcjami readdir() oraz readfile(). Pliki do pobrania (wyszukania) muszą znajdować się w wyznaczonym katalogu tak aby przypadkowo nie znalazł kodu strony.
Po prostu czytasz katalog (readdir), listujesz pliki, sprawdzasz typ - jeśli katalog to wchodź głębiej, jeśli nie to sprawdź czy nazwa pliku to szukana nazwa. Napisz po prostu funkcję wyszukującą rekurencyjną, tylko uważaj na tzw. nieskończoność algorytmu, bo przywiesisz serwer.
Tu masz schemat funkcji rekurencyjnej
<?php
function f_rekurancyjna($zmienna){
while( /* czytaj katalog $zmienna */ ){
// instrukcje
if( /* zasób to katalog */ )
f_rekurancyjna($zmienna.'/'.$katalog);
else
// dodaj dop listy plików
}
}
Sortowaniem zajmij się później (strona http://php.net/ i wpisz array, masz funkcje sortujące sort(), asort()... )
?>