studio-42/elfinder

File manager for web

Installs: 467 444

Dependents: 52

Suggesters: 1

Stars: 2 567

Watchers: 224

Forks: 1 017

Open Issues: 21

Language:JavaScript

2.1.29 2017-10-07 12:19 UTC

README

WARNING: IF YOU HAVE OLDER (IN PARTICULAR 2.1.20 OR EARLIER) VERSIONS OF ELFINDER ON PUBLIC SERVERS, IT MAY CAUSE SERIOUS DAMAGE TO YOUR SERVER AND VISITED USER. YOU SHOULD UPDATE TO THE LATEST VERSION OR REMOVE IT FROM THE SERVER.

      _ ______ _           _           
     | |  ____(_)         | |          
  ___| | |__   _ _ __   __| | ___ _ __ 
 / _ \ |  __| | | '_ \ / _` |/ _ \ '__|
|  __/ | |    | | | | | (_| |  __/ |   
 \___|_|_|    |_|_| |_|\__,_|\___|_|   

elFinder is an open-source file manager for web, written in JavaScript using jQuery UI. Creation is inspired by simplicity and convenience of Finder program used in Mac OS X operating system.

Download now! Packagist License Latest Stable Version Total Downloads CDNJS version Donate(nao-pon)

Contents

Branches

  • master - Main development branch
  • 2.1-src - 2.1 development branch, auto build to 2.1 on commit
  • 2.1 - 2.1 nightly build branch

Features

  • Usability like the MacOS Finder or Windows Explorer
  • Mobile friendly view for touch devices
  • All operations with files and folders on a remote server (copy, move, upload, create folder/file, rename, etc.)
  • High performance server backend and light client UI
  • Multi-root support
  • Local file system, MySQL, FTP volume storage drivers
  • Cloud storage (Box, Dropbox, GoogleDrive and OneDrive) drivers
  • Background file/folder upload with Drag & Drop HTML5 support
  • Chunked file upload for large file
  • Upload directly to the folder
  • Upload form URL (or list)
  • List and Icons view
  • Keyboard shortcuts
  • Standard methods of file/group selection using mouse or keyboard
  • Move/Copy files with Drag & Drop
  • Drag & Drop to outside by starting drag with alt/option key press
  • Archives create/extract (zip, rar, 7z, tar, gzip, bzip2)
  • Rich context menu and toolbar
  • Quicklook, preview for common file types
  • Edit text files and images
  • "Places" for your favorites
  • Calculate directory sizes
  • Thumbnails for image, movie files
  • Easy to integrate with web editors (elRTE, CKEditor, TinyMCE)
  • Flexible configuration of access rights, upload file types, user interface and other
  • Extensibility by event handling of backend and client side
  • Simple client-server API based on JSON
  • Supports custom information in info dialog
  • Configuable columns of list view
  • Supports custom CSS class function for the custom folder icon
  • Connector plugin
    • AutoRotate : Auto rotation on file upload of JPEG file by EXIF Orientation.
    • AutoResize : Auto resize on file upload.
    • Normalizer : UTF-8 Normalizer of file-name and file-path etc.
    • Sanitizer : Sanitizer of file-name and file-path etc.
    • Watermark : Print watermark on file upload.
  • For more details, see the Changelog

Requirements

jQuery / jQuery UI

  • jQuery 1.8.0+
  • jQuery UI 1.9.0+ (require selectable, draggable, droppable and resizable)

However, we recommend newest version.

Client

  • Modern browser. elFinder was tested in Internet Explorer 8 and newest Firefox, Chrome, IE, Edge and Opera

Server

  • Any web server
  • PHP 5.2+ (Recommend PHP 5.4 or higher) And for thumbnails - GD / Imagick module / convert(imagemagick) require

Installation

Builds (compressed)

  1. Download and unzip one of the builds below to your PHP server
  2. Rename /php/connector.minimal.php-dist to /php/connector.minimal.php
  3. Load /elfinder.html in your browser to run elFinder

Source (uncompressed)

  1. Clone this repository to your PHP server

    $ git clone https://github.com/Studio-42/elFinder.git
    
  2. Rename /php/connector.minimal.php-dist to /php/connector.minimal.php

  3. Load /elfinder.src.html in your browser to run elFinder

Installer

Downloads

Stable releases (Changelog)

Nightly builds

Demo sites

2.1.x Nightly

FAQs

Should I use elFinder builds (compressed) or source (uncompressed)?

For debugging and development, use the source. For production, use builds.

How do I integrate elFinder with CKEditor/TinyMCE/elRTE/etc...?

Check out the wiki for individual instructions.

The procedure of language files created or modified?

You can create or modify the language file to use translation tool. Please refer to the pull request the results to the respective branch.

3rd party connectors

3rd party Volume Drivers

3rd party Themes

Hint: How to load CSS with RequireJS?

Support

Authors

We hope our tools will be helpful for you.

License

elFinder is issued under a 3-clauses BSD license.