You need to utilize a number of languages and technologies. Look at the definition: web-based, so it should be hosted on a server, also it should be consumable by a browser.
For server-side scripting you have some options: PHP, ASP, Perl, ... This is a matter of personal taste and preferences, but I usually use PHP (and MySQL).
The division of the program to server-side and client side does not mean you write two separate bodies of code. Actually, every thing is uploaded to the server, but then some of the code is executed by the server, and results and some more code is sent (by the server) to your browser and is executed (or parsed) inside your browser.
For the application you have in mind a blueprint is along these lines (I present it as the thoughts the programmer goes through):
What is it to be built?
A web-based file browser
Where are the files to be browsed?
On the server ... I use one of the directories as the root and browse (list files and nested subdirectories)
So, I need a script to scan the directory and produce the list of files and subdirectories. I call this scandir.php
So if I write scandir.php and put it on the server, if I go to myhost.com/scandir.php It will send back the list of files and subdirectories in say myhost.com/homedir/
But this is being sent to my browser, so what is sent should be a HTML document, so I write scandir.php to output html code AND the output I'm interested in.
Wait a minute ... there are two subdirectories in /homedir/ and there are more files inside those as well, how do I get to show those? I know, I'll make the sub-directories to be displayed like a folder and make them links, so if I click on the folder icon for /homedir/books/ it sends a request to scandir.php telling it I need the list of files in /books/ subdirectory.
This is getting too long so I think it is enough for a start. Good luck.