+ +

amFM File Manager


amFM Screenshot

I am a File Manager


amFM is a free, open source web file manager written in PHP, XHTML, and Javascript that utilizes AJAX for its functionality. The name stands for "I am a File Manager." amFM is designed to be simple and intuitive. It offers several attractive features, and is extensible for use on a wide variety of sites. You can see a live demo below.

Features

  • Simple, intuitive layout
  • Point-and-click folder navigation
  • Drag-and-drop file and folder organization
  • Upload up to five files at a time
  • Rename files and folders
  • Delete files and folders
  • Create new folders
  • Mouse-over image preview
  • Easy to allow / disallow file types
  • Secure
  • API for third party plugins
  • Add your own branding

Download and Installation

Download the latest version (2.5) here.

Installing amFM is very simple: just unzip it to a directory on your server. You will need to change two values in the 'settings.php' file so that amFM will know where to look for your files. Details are in the 'readme.txt' file.

Live Demo

Click here to see a live demo of the latest version of amFM. This demo is sporting the "Professional" theme, which comes with amFM. For now, file uploading is enabled. Please be thoughtful when testing this feature and do not upload large numbers of files. Also, since anyone can upload files, I cannot be responsible for what is there. If you see anything vulgar or illegal, please e-mail me. For the sake of my server, only a few types of files are allowed (images and documents). When you install amFM on your site, you can allow or disallow whatever files you want.

Plugins

To add a plugin, simply unzip it and put the folder or files into your 'amfm/plugins' folder.

Extra File Type Icons

Here are some more file type icons that are not included by default. Please note that some of these may present a security vulnerability to your server, so be judicious in choosing which files types to add. Also, if you accidentally deleted any of the default file types and want them back, you can find them here. These icons are from Mark James' "Silk" icon set.

Internet Explorer 6 Transparent PNG Fix

(By Derrick Mendez) This plugin corrects a bug in IE6 that causes transparent .png files to display improperly. This plugin comes with amFM by default.

FCK Editor Integration

This plugin makes amFM the file browser for FCK Editor. You will need to copy a small code snippet into one of the FCK Editor files. Instruction are in the plugin's comments.

Drupal Authentication

This plugin authenticates users against a Drupal database. Only users with the permission 'upload/manage files with amFM' will be able to access the file manager. This plugin is meant to be used with the amFM Drupal Module, which will add that permission to your site and will also add a menu item to access amFM. You will need to edit the variables at the beginning of this file to reflect the location of your Drupal installation.

Drupal Multi-Site Auto-Redirect

This plugin will redirect a Drupal user to a folder matching the site's db_prefix. In other words, if you have a multi-site setup in Drupal, all you need to do is create folders in the home folder that have the same names as the db_prefix'es of your sites. If such a folder is found, that will become the user's home folder instead.

Drupal User Folders Auto-Redirect

This plugin will redirect a Drupal user to a folder matching his or her username within the home folder. If you have a user with the username 'bob,' and want him to have his own folder on your server, simply create a folder called 'bob' in the home folder, and bob will be redirected there each time he launches the file manager.

Themes

You can modify the look and feel of amFM by adding themes. Simply download any of these themes and unzip them into the 'amfm/themes' folder, and they will take effect automatically. (Note: Do not delete or modify the 'default' theme.) You can use multiple themes at the same time, but they may conflict with one another. The "Professional" theme comes with amFM by default. To return to the "classic" amFM theme, simply delete the 'amfm/themes/professional' folder.

amFM Default Theme

The original amFM look and feel in case you deleted it.

Professional Theme (comes with amFM by default)

A sleek, professional-looking theme by Derrick Mendez.


Credits

  • Special thanks to DAXKO in Birmingham, Alabama--my employer when I wrote this--for allowing me to release this under an open source GNU license.
  • Special thanks to Derrick Mendez, my co-worker and friend, for his help in debugging and developing this project.
  • Special thanks to Mark James at famfamfam.com for creating the "Silk" icon set, which I used for the folder and file icons.
  • To increase browser compatibility, I have used the Reset stylesheet from the Yahoo! UI, so special thanks to Yahoo! for this excellent tool.
  • The icons used for the buttons are from IconExperience, and they are used in accordance with the license.

Security

  • When amFM is launched, the first folder it goes to will appear as "Home Folder" (the folder does not actually have to be named "Home Folder" on your server). Users will not be able to navigate above that folder.
  • Users are prompted to confirm file and folder deletion.
  • Folders cannot be deleted unless empty.
  • Files are considered hidden if the first character in the file name is a period. These files will not appear in the "Files" section. Folders containing hidden files cannot be deleted.
  • Both the frontend and the backend authenticate users, so your server cannot be "hacked" by someone trying to use the AJAX backend directly.
  • Allowed and disallowed file types are checked both on the front and back ends.
  • All backend requests are evaluated as absolute directories to prevent directory traversal.
  • Users should note: no username / password authentication comes with amFM by default. This should be implemented via PHP plugins (see below for how to do this or above for a list of already-written plugins). I designed it this way on purpose because most sites have their own method of keeping track of users, and it would be re-inventing the wheel to put a different method into amFM.

Compatibility / Bugs

amFM has been tested on a Unix-based server and a Windows-based server, and it works on both, which means it should work fine on just about any operating system. The frontend has been tested in IE 6 and 7 and in Firefox, which means it should work fine on just about any modern browser.

If you find any bugs, please e-mail me: sgware@gmail.com.

Known Issues:

  • In IE 7, there is a strange bug: certain folders that have title text of a certain length may not display their names. The name is there in the source code, but does not appear in the file manager, even if scrolling is triggered. This is most likely a bug in IE 7.
  • Folder names beginning with apostrophies may cause errors on Windows-based servers.

Developers

Please check out the technical specs if you are interested in writing plugins or otherwise want to help with development. You may also be interested in the Version History, which includes a list of "to-do's." Feel free to send me ideas for new features.

+ +
>