First, there are some free prepackaged solutions out there which do what you are describing. You can Google "php file manager" if you do not want to reinvent the wheel.
Second, having a database may not be necessary. There are reasons why a database would be necessary, but unless you can come up with a argument for having a database, it would add unnecessary complexity to your application.
I hope that helps. Good luck!