Super Simple PHP File Manager

17th of March, 2008

If I’m in class and I’m on a Windows computer or iDisk isn’t working for whatever reason I have to email my work to myself so I have a copy. A lot of people use small USB drives but I’d rather not use hardware if software can provide a solution. USB drives are also constantly lost along with whatever work was on them at school anyway. I wanted a very simple, self-hosted, file manager that I could upload to at school and then download from at home. Something like box.net but even simpler and self-hosted. I thought there was a good chance something like this would already exist but was prepared to make my own.

Turns out that the pickings are slim. There’s phpFileManager which is complete overkill as was this one. I came across sFileManager, the s standing for simple and it looked OK. It’s ugly but I was prepared to change that. Then I realised it was last developed in 2003 and riddled with things like <font> elements I did not want to waste time changing.

This directory listing script is close to what I wanted with some extra things like thumbnail generation that I could take out but it lacked uploading. I asked in my IRC channel if anyone had come across anything, turns out Ryan had taken and modified that same directory listing to handle uploads as well, perfect!

It was still overkill. I didn’t care about directories, built-in password protection, options for ordering or thumbnail generation. I stripped it back to list files by descending date, upload and delete. It looks like this:

Screenshot

All files use the zip icon, there’s no confirm on delete, no support for directories and no security, anyone can upload or delete your files, it’s up to you to protect it with something like mod_security. For it’s specific purpose it does the job beautifully. So what kind of human being would I be if I didn’t release the code?

Download the Super Simple PHP File Manager ↓

Installation is as simple as unzipping it and putting it where ever you want it to go. It just works but make sure that the directory is writable.