Use this application to manage files and directories on your webserver or any FTP server. You can
create, rename, move and delete directories, upload, download, edit, rename, move, copy, delete
and search files, and change file and directory permissions*. It's also possible to play audio/video
files and view preview thumbnails of images.
Have a look at the following examples (most file actions are disabled for security reasons, though).
The first example shows the default view with directory tree and log window:
The next two examples are "minimized" views; the first one lists all MP3 files, while the second
one shows preview thumbnails from all JPG files - this time without title bar. In both cases, the
search function has been disabled to "lock" the initial search result:
Please have a look at the config.inc.php file to find out how FileManager can be adapted
to your needs.
FileManager can be used as a stand-alone application, but it's also easy to integrate it into
your own website. The above examples show that it is no problem to create as many FileManager
instances as you like, each one with its own specific settings. Just have a look at the
usage section and the source code of filemanager.php to see
how you can do this.
FileManager works fine with FTP connections. Please note that if you don't set up an FTP
connection in the configuration, FileManager will use the
local file system instead. In this case it can only access directories and files for which
PHP has at least read permission; if you want to upload, edit, rename, move, copy or delete
files, or change file permissions*, PHP must also have write permission for these files or
This software needs PHP 5 or higher.
Works with FTP servers (UNIX and Windows) and local file system.
Supports multiple languages.
Can be easily adapted by modification of configuration file and CSS file.
Can be easily integrated into your website - even multiple instances.
Supports detailed view and icon view.
Built-in editor for text files with realtime syntax hilighting.
Built-in image preview with thumbnails.
Built-in action log.
Integrated file and directory search.
Integrated directory tree for quick directory switching**.
Supports automatic setting of permissions when creating new directories or saving
Supports automatic modification (to lowercase, replace spaces) of filenames for
uploaded and downloaded files.
Images can be resized automatically before they are saved.
Multiple files can be uploaded and downloaded at once.
Files can also be saved from URLs.
Supports automatic backup creation (versioning) when saving files.
Supports restoring of deleted files.
Supports password protection (login).
Supports hiding of system files, files with arbitrary extensions, and whole directories.
Supports quota setting.
Works with UTF-8 and other character sets.
Integrated media player for audio and video files.
Can view documents (Word, Excel, PDF, etc.) with Google Docs Viewer.
Provides hooks for upload and download.
Smart refresh feature keeps all users updated.
* On Windows systems changing of file permissions doesn't work properly. This is not a
restriction of this software.
** If the number of directories is too big, it will take some time to load. This goes
especially for FTP connections. In this case it is recommended to disable the directory
You can use FileManager to search files and directories. It will search all directories
recursively, starting in the directory that is currently viewed. At the moment, it is only
possible to search for file or directory names. Wildcards like "*" are not supported; FileManager
will find all files and directories containing the search string in their name. For instance, if
you search for "file", the files "filemanager.php", "file.gif", etc. will match your search.
While FileManager views a search result, file upload is disabled, and you cannot create new
directories. If you want to do so, please return to your current directory listing first. Please
note that this is not possible if you disabled the search function, but told FileManager to start
with a search - in this case, the current search result will be "locked" and file upload and
directory creation won't be possible.
File upload with PHP has two drawbacks: usually the file size is limited (default is 2 MB
per file and 8 MB per POST request), and it is not possible to view a progress bar - at least
not without APC extension (NOTE: you need PHP 5.2+). The size limit can be changed for instance
in the php.ini file by the server administrator, but this will also affect all other PHP
applications. (Changing this value on a per-directory-basis is also possible, see
php.net for detailed information.) For this
reason, FileManager comes with several upload engines.
The Java Uploader
Unfortunately, most browsers don't support Java applets anymore, so the Java uploader has been
removed in version 10.50.
If you don't need to upload big files, you can try the integrated open source
FileDrop uploader, which views a progress bar,
supports drag and drop and multiple file upload. It should work with all browsers that support HTML5.
Please note that when uploading several big files at once, the browser may crash - if this happens,
try to upload the files one by one or use another upload engine.
The Perl Uploader
Alternatively FileManager can also upload files via Perl and view a progress bar while uploading.
This requires however that Perl is installed on your server, and that the Perl scripts in
FileManager's cgi directory can be executed. Please have a look at the
usage section to see how this can be done.
The PHP Uploader
This is the basic uploader that should only be used if the other upload engines don't work for you.
It only requires PHP on your server, but you will have to live with a file size limit (depending
on your PHP configuration) and without a progress bar (unless your browser views it by default).
If you want to use the Perl uploader and installed FileManager in a directory that requires
authentication, you must set the authUser and authPassword variables in
FileManager's configuration file.
If two or more users share the same directories and files, usually they don't see the modifications
of each other until they refresh their directory listings manually. FileManager comes with a smart
refresh feature that can do this automagically if any user has made modifications.
However, keep in mind that FileManager enables you to set an individual data directory for each
user. In this case, the smart refresh function won't work properly. There might be other cases
where the smart refresh fails, but remember that you can still refresh your FileManager manually. ;-)
The smart refresh feature is disabled by default, because it puts more load on the server and
produces more traffic. You can enable it anytime in the configuration file or at runtime
(have a look at the usage section for more info). Please note that this
feature is experimental, i.e. there might be unexpected behavior.
The integrated media player can handle MP3, MP4/AAC, WAV and OGG audio files if your browser
supports them via HTML5 audio. For MP3 files, the
niftyPlayer serves as a
fallback, but it requires a Flash plugin.
The integrated media player can handle MP4, WebM and OGG video files if your browser supports them
via HTML5 video. For MP4 and FLV files, a free
FLV player serves as a fallback, but it
requires a Flash plugin. FileManager can also view SWF files if your browser has a Flash plugin.
A Quick Note On ID3 Tags And Preview Thumbnails
It is only possible to view ID3 tags and preview thumbnails from files of the server's local file
system. This is no problem when FileManager uses the local file system, but in FTP mode these files
must first be copied from the FTP server. This can take quite some time especially when the file
size is big and/or there are a lot of files in a directory. In this case, it is recommended to
disable image preview and ID3 tags. This can be done in the configuration file (variables
enableImagePreview and enableId3Tags).
A Quick Note On File Download
When FileManager runs in FTP mode, files must first be transfered to the local system before
they can be sent to the browser. This can take some time especially with big files. To avoid
this, FileManager uses the asynchronous FTP mode: while loading a file from the FTP server, it can
start to send it to the browser without having to wait until the transfer is complete.
There are some things that you should keep in mind when using this application in order to maintain
your server's security:
Never give untrusted people access to your FileManager. Implement it into your existing user
management or install it in a directory that requires authentication or use at least the password
protection of FileManager itself.
If you use FileManager in FTP mode, do not install it on your FTP server. Install it on your
Do not set FileManager's tmpFilePath variable to a directory within your webservers document
root. It is recommended to create a dedicated directory for this purpose. Keep in mind that it must
be big enough to handle your file uploads and FileManager's cache.
Unless you want to grant unlimited access to all file types, use the allowFileTypes or
the hideFileTypes variable to limit access to certain file types. These settings also affect
file uploads. For instance, if you want to disable viewing, uploading and editing of PHP files, add
the extension "php" to the hideFileTypes variable.
FileManager comes with a lot of options (enable/disable file upload, download, editing, etc.) that
can be set individually for each user (or for all users within the configuration file). Use them wisely.
Here's a list of things that don't work on some systems or with certain configurations:
If SSL is used, FileManager might not work properly in Internet Explorer. This seems to be a
browser problem, though. It might help to tweak your SSL server configuration like this:
Thumbnail creation of big images might not work on some servers. This also goes for automatic
resizing when uploading images (server returns error 500 and the image won't be saved). Increase
the memory size limit in your server's PHP configuration and restart your web server.
Conversion to CP437 (for filenames in a ZIP archive) doesn't work on my web server
(SunOS), but it does work on my local server (Windows). This means that file and directory
names in ZIP archives created by FileManager may be corrupted if they contain non-ASCII
The FileDrop upload engine may have problems with big files - if it doesn't work for you,
use another upload engine.
FileManager does not work well with Internet Explorer 7 (or less). Use the current version or
at least version 8.
If FileManager doesn't view properly like this, it
can't detect your web path. In this case, just set the fmWebPath variable in the config file
If your browser doesn't play FLV or MP4 videos, update the Flash plugin of your browser.
* Added CSS fix to deactivate horizontal scrollbar.
* Minor optimization for UTF-8 conversion. * Minor fix for avoiding PHP notice.
* Some code and performance optimizations.
* Removed the Java uploader, because most browsers don't support Java applets anymore.
* Added small patch for PHP 7.2. * Changed default upload engine to JS.
* Fixed FLV/SWF player. * Use SWF player as fallback for HTML5 player. * Use proper content type header for JSON content.
* Updated FileDrop. * Updated JUpload. * Minor optimization for compatibility with PHP 7.
* Fixed URL to Google Document Viewer and put it into the config file. * Some minor optimizations.
* Minor optimization for compatibility with PHP 7. * Fixed captions in detailed view.
* Optimized viewing/editing of text files by trying to detect the original file encoding. * View detected file encoding in document viewer and text editor. * Various minor optimizations.
* Fixed viewing/editing of text files.
* Fixed encoding/decoding of file paths. * Added empty value to "select all" checkbox. * Bugfix: If only certain file extensions are allowed, show deleted files with these extensions, too.
* Prevent PHP notice when downloading file with unknown MIME type. * Removed duplicate MIME type for .mif files.
* Added support for custom date-time format in listing entries. * Added some MIME types. * Minor optimizations.
* Fixed FileManager height when resizing automatically. * Don't resize if keyboard of mobile devices is active on login screen.
* Added "select all" checkbox in root directory. * If FileManager size is set to % (e.g. "100%"), calculate it from the parent element if it has a fixed size; if not, calculate it from the window size (the old behavior).
* Removed tmp folder from filemanager directory for security reasons. * Added tmp directory path to the debug info. * Fixed mouse cursor in title bar.
* Fixed directory tree cache. * Added debug info that indicates if the directory tree has been initially loaded from cache. * Fixed corrupted non-ASCII characters in debug info.
* View error message if web path is invalid. * Fixed scrollTop issue that occurred in latest Chrome browser.
* Bugfix for renaming files/directories containing special characters.
* Added quota support. * Added extension log to the list of editable text files. * Added timezone setting. * Added usage info in directory tree. * Fixed JSON error when directory creation failed. * Minor optimizations.
* Fixed infinite loading loop when a directory contains only hidden files.
* Do not deactivate right-click context menu on touchscreen devices.
* Minor bugfix.
* Added fix for right-click context menu (didn't work anymore in new Chrome version). * Fixed context menu position.
* Fixed column width in detailed view.
* Optimized ID3 tag fetching. * Fixed directory tree reloading.
* Added possibility to toggle media player mode between HTML5 and Flash.
* Replaced OOS FlvPlayer with FLV player from www.webestools.com. * Minor optimizations.
* Play MP4 videos with HTML5 video element if possible. * Do not reload after resize.
* Added config variable fmCaption. * Added number of files in title bar.
* Added fix for avoiding PHP strict notices on some systems.
* FileManager will try to create its tmp directory by itself now. * Renamed config variable startDir to rootDir. * Added config variable defaultDir. * Highlight currently selected folder in directory tree.
* Bugfix for video player. * Added warning message if tmp directory is not writable.
* Added fix for browser context menu in Chrome.
* Fixed icons for files with uppercase extension.
* Perl uploader: Fixed upload progress window. * Directory tree: Don't show total number of files if not all file types are visible. * Minor bugfix.
* Fixed missing title bar icons in IE.
* Fixed directory tree: Handle allowed and hidden directories properly.
* Added some error messages if certain AJAX requests fail.
* Added fix for AUTH_USER in session save path. * Use TXT icon as default icon for ASCII files. * Updated SoundManager. * Media player: View ID3 tags via SoundManager.
* Fix for Java uploader: Create folders correctly when uploading multiple directories.
* Always replace spaces with underscores in file and directory names if $replSpacesUpload is set. * Always convert file and directory names to lowercase if $lowerCaseUpload is set.
* Keep sub folder structure when using the Java upload engine. * In sub folders, all entries can be selected at once now. * Bugfix: Don't view context menu when clicking on a checkbox. * Bugfix: View correct context menu after returning to a parent directory.
* Fixed mail on upload feature.
* Bugfix: Check if $id is not empty in FM_Event::_refresh method. * Bugfix: Only reload directory tree if needed.
* Minor bugfix: Removed $this in static method FileManager::error. * Added workaround for session garbage collection on Debian systems. * Bugfix: Don't view context menu when left-clicking on "..".
* Added icons for global actions to title bar. * View context menu when clicking on FileManager container (if right-click is disabled). * Fixed "empty" file selector fields in Chrome browser.
* Bugfix: View directory tree when moving/copying files. * Optimized directory tree update. * Optimized smart refresh.
* Bugfix: Update list view icon in title bar when switching list view.
* Bugfix: Resize FileManager properly when directory tree has fixed width.
* Resize FileManager, too if browser window is resized. * Several bugfixes.
* Added possibility to set width and height by percentage. * Added possibility to hide the title bar. Note that some functions won't be available then.
* Text editor opens in new "window" now (like document viewer).
* Added possibility to disable file cache. * Bugfix: Files were not removed properly from cache in FTP mode.
* Added support for bulk moving of files and directories.
* Added support for touchscreen devices. * Updated SoundManager.
* Added fixed table header in detailed view. In IE 7 standard mode it doesn't view properly, but in quirks mode it views ok. No problems with IE 8 and 9, though.
* Added support for zipped bulk download of files and directories. * Bugfix: Set session save path if PHP_AUTH_USER is set. * Optimized download mail notification.
* Important bugfix: Upload via Perl didn't work if temporary directory was not the default directory. * Bugfix: View filename in error message if upload fails. * Bugfix: Renamed icon "exe.gif" to "program.gif". * Added support for right-click context menu - does not work with Opera, though. * Lots of improvements under the hood.