Drupella File Manager - PHP Standalone



Drupella FM is a web-based file manager that has a drag & drop user interface powered by AJAX.

This is the standalone version that can be integrated into any site running PHP.

See the live demo


  • AJAX powered drag & drop user interface
  • File operations: Upload, Delete, Move, Copy, Rename, Download
  • Folder operations: Create, Delete, Move, Copy, Rename, Download
  • Image operations: Resize, Crop
  • Mouse indicators for move-copy permissions during drag & drop.
  • Multiple file upload
  • Upload progress
  • Drag drop files from your local computer
  • File sorting by name, size, date, type
  • Keyboard shortcuts for file operations similar to common file explorers of Windows and Linux.
  • Switching between icon view and list view
  • Small footprint with overall 90kb javascript. (30kb gzipped)
  • Very fast javascript DOM rendering. A folder containing 10000 files takes only a few seconds to render.
  • Configurable limits: upload file size, file extensions, image dimensions...
  • Multiple personal or shared folders for users
  • File permissions per folder
  • Display thumbnails as image icons
  • Integration with WYSIWYG editors like CKEditor and TinyMCE
  • Custom wysiwyg plugins for inserting multiple images or files into editor content
  • Mobile friendly responsive layout. Fully functional in mobile browsers supporting touch events.
  • Search files & folders


Requires a webserver (Apache, nginx, IIS) running PHP (5.3 or later)



  1. Copy dfm_php under your site directory so it is available at http://example.com/dfm_php
  2. Create a copy of the settings file custom/default.settings.php as custom/settings.php
  3. Edit settings.php to set your managed files directory, admin password, and other configuration options.
  4. Set settings.php as read-only!
  5. Visit http://example.com/dfm_php and login as admin to manage your files.

CKEditor Integration

  • Integrate into image & link dialogs:

    This requires to set filebrowserBrowseUrl parameter of CKEditor.config.

    - Either set it globally:

    CKEDITOR.config.filebrowserBrowseUrl = '/dfm_php?fileHandler=dfmCkeHandler';

    - Or set it per editor instance:

    CKEDITOR.replace('editor1', {filebrowserBrowseUrl: '/dfm_php?fileHandler=dfmCkeHandler'});

    You also need to define the handler(dfmCkeHandler) by javascript in the page on which CKEditor is being displayed:

        // File handler that is called by DFM when a file is selected
        window.dfmCkeHandler = function(selectedFile, dfmWindow) {
          CKEDITOR.tools.callFunction(dfmWindow.dfm.urlParam('CKEditorFuncNum'), selectedFile.getUrl());
  • Enable the buttons defined in wysiwyg_plugins/ckeditor/plugin.js:

    The plugin introduces new image(DfmImage) & link(DfmFile) buttons that allow inserting multiple files at once.

    - Either introduce the plugin to CKEditor as an external plugin:

    CKEDITOR.plugins.addExternal('dfm', '/dfm_php/wysiwyg_plugins/ckeditor/', 'plugin.js');

    - Or copy wysiwyg_plugins/ckeditor as <CKEditor>/plugins/dfm

    Then use it in editor configuration:

        CKEDITOR.replace('editor1', {
          extraPlugins: 'dfm',
          toolbar : [['Bold', 'Italic', 'Underline', 'DfmImage', 'DfmFile']]

    Note: You may want to update the plugin.dfmUrl = '/dfm_php' setting in the plugin.js file. In that case move the plugin to a custom folder to prevent overwriting on next update.

TinyMCE and other custom application integration

Please see README.txt for further details.

You must select a multi-site server license if you are going to use the product in more than one site(domain). Subdomains that are complementary to the main domain, e.g groups.drupal.org & drupal.org, can share the single-site license.