Teoretycznie sprawdza czy dany plik jest katalogiem i jeśli jest to wywołuje samą siebie tylko z innymi parametrami. (mam nadzieję że nie wywołuje siebie samej). Po sprawdzeniu (za-komentowaniu delDir,rmdir oraz unlink i wrzuceniu w pętle tego dira echa) okazuje się że on do tego if-a w ogóle nie wchodzi (do while wchodzi 3 razy).
Podejrzewam że jakąś pętle nieskończoną też przy okazji stworzyłem

chyba while mam zwalony - $file miał 4 razy wartość 1.
po poprawieniu while(($file=readdir($fd))!==false)
sprawdzę resztę - może teraz będzie działać teoretycznie w porządku.
W każdym bądź razie volker dzięki bo nakierowałeś mnie delikatnie na problem (pomógł kliknięte).