FileGator - Powerful Multi-User File Manager
FileGator is a free, open-source PHP script for managing files and folders.
You can manage files inside your local repository folder (on your server's hard drive) or connect to other storage adaptes (see below).
FileGator has multi-user support so you can have admins and other users managing files with different access permissions, roles and home folders.
All basic file operations are supported: copy, move, rename, create, delete, zip, unzip, download, upload.
If allowed, users can download multiple files or folders at once.
File upload supports drag&drop, progress bar, pause and resume. Upload is chunked so you should be able to upload large files regardless of your server configuration.
This is read-only demo with guest account enabled.
- you can log in as
john/johnto see John's private files
jane/janeas readonly + download user.
Features & Goals
- Multiple storage adapters (Local, FTP, Amazon S3, Dropbox, DO Spaces, Azure Blob and many others via Flysystem)
- Multiple auth adapters with roles and permissions (Store users in json file or database)
- Multiple session adapters (Native File, Pdo, MongoDB, Memcached and others via Symfony)
- Single page front-end (built with Vuejs, Bulma and Buefy)
- Chunked uploads (built with Resumable.js)
- Zip and bulk download support
- Highly extensible, decoupled and tested code
- No database required
- Framework free ™
- PHP 7.1.3+
Download precompiled build
- Latest: v7.0.0-RC3
- Unzip files and upload them to your PHP server
- Make sure you webserver can read and write to
- Set the website document root to
/distdirectory. This is also known as 'public' folder.
- Visit web page, if something goes wrong check
- Login with default credentials
- Change default admin's password
Project setup for development (Linux)
You must have
git clone firstname.lastname@example.org:filegator/filegator.git cd filegator cp configuration_sample.php configuration.php sudo chmod -R 777 private/ sudo chmod -R 777 repository/ composer install npm install npm run build
We also have a sample docker image here
Compiles and hot-reloads
The following command will launch backend and frontend on ports 8081 and 8080:
npm run serve
Once everything is ready visit:
Run tests & static analysis
vendor/bin/phpunit vendor/bin/phpstan analyse ./backend npm run lint npm run e2e
Set the website document root to
/dist directory. This is also known as 'public' folder.
Show your support
If you discover any security related issues, please email email@example.com instead of using the issue tracker.
Copyright (c) 2019 Milos Stojanovic.
This project is MIT licensed.