TinyFileManager is a versatile web-based PHP file manager designed for simplicity and efficiency. This lightweight single-file PHP application can be effortlessly integrated into any server directory, allowing users to store, upload, edit, and manage files and folders directly through their web browser. With multi-language support and compatibility with PHP 5.5+, TinyFileManager enables the creation of individual user accounts, each with its dedicated directory. The platform also includes built-in functionality for handling text files using the Cloud9 IDE. Featuring syntax highlighting for over 150 languages and more than 35 themes, TinyFileManager offers a comprehensive solution for file management in an online environment.
Caution! Avoid utilizing this script as a standard file manager in public spaces. It is imperative to remove this script from the server after completing any tasks.
Tinyfilemanager is highly documented on the wiki pages.
For clients that cannot send custom HTTP headers (for example Joyee), use joyee-bridge.php with a dedicated bridge key.
joyee-bridge.php?action=ping&bridge_key=...joyee-bridge.php?action=list&path=&bridge_key=...- The real API token stays only in
joyee-bridge.config.php. - The bridge key must never be the same value as the API token.
- Joyee Bridge uses a dedicated workspace root (default
Joyee/) configured by$joyee_bridge_root_path. - Use only over HTTPS.
joyee-probe.phpis a public diagnostic endpoint without token/auth.- It does not grant any permissions and does not expose secrets.
- It is used only to verify domain reachability for ChatGPT/Joyee runtime.
- Use
api.php?action=assistantwith a bearer token that has theassistantcapability enabled inapi.config.php. - Add your OpenAI key and assistant settings to local
api.config.php; do not paste the key into the repository. - Send JSON like
{"message":"Review these files","files":["src/Router.php","README.md"]}to have the assistant inspect selected project files. - The assistant reads only files inside the configured API root and only supports text-oriented file types by default.
- PHP 5.5.0 or higher.
- Fileinfo, iconv, zip, tar and mbstring extensions are strongly recommended.
Download ZIP with latest version from master branch.
Just copy the tinyfilemanager.php to your webspace - thats all :) You can also change the file name from "tinyfilemanager.php" to something else, you know what i meant for.
Default username/password: admin/admin@123 and user/12345.
$auth_users before use. password is encrypted with password_hash(). to generate new password hash here
To enable/disable authentication set $use_auth to true or false.
ℹ️ Add your own configuration file config.php in the same folder to use as additional configuration file.
ℹ️ To work offline without CDN resources, use offline branch
- 💿 Open Source: Lightweight, minimalist, and extremely simple to set up.
- 📱 Mobile Friendly: Optimized for touch devices and mobile viewing.
- ℹ️ Core Features: Easily create, delete, modify, view, download, copy, and move files.
- ⏫ Advanced Upload Options: Ajax-powered uploads with drag-and-drop support, URL imports, and multi-file uploads with extension filtering.
- 📁 Folder & File Management: Create and organize folders and files effortlessly.
- 🎁 Compression Tools: Compress and extract files in
zipandtarformats. - 😎 User Permissions: User-specific root folder mapping and session-based access control.
- 💾 Direct URLs: Easily copy direct URLs for files.
- ✏️ Code Editor: Includes Cloud9 IDE with syntax highlighting for 150+ languages and 35+ themes.
- 📄 Document Preview: Google/Microsoft document viewer for PDF/DOC/XLS/PPT, supporting previews up to 25 MB.
- ⚡ Security Features: Backup capabilities, IP blacklisting, and whitelisting.
- 🔎 Search Functionality: Use
datatable.jsfor fast file search and filtering. - 📁 Customizable Listings: Exclude specific folders and files from directory views.
- 🌐 Multi-language Support: Translations available in 35+ languages with
translation.json. ‼️ And Much More!
Tento fork pridáva systém rolí pre zdieľanie súborov medzi klientmi a dodávateľmi projektu.
| Rola | Upload | Download | Rename / Zip / Copy | Mazať | Vidí |
|---|---|---|---|---|---|
admin |
✅ | ✅ | ✅ | ✅ | celý root priečinok |
manager |
✅ | ✅ | ✅ | ❌ | celý root priečinok |
client |
✅ | ✅ | ❌ | ❌ | len svoj priečinok |
supplier |
✅ | ✅ | ❌ | ❌ | len svoj priečinok |
Všetky nastavenia sa nachádzajú v súbore config.php v rovnakom priečinku ako tinyfilemanager.php. Hlavný súbor tinyfilemanager.php neupravujte – config.php jeho hodnoty automaticky prepíše.
// Používatelia a heslá (bcrypt hash)
$auth_users = array(
'admin' => '$2y$10$...', // admin@123
'manager1' => '$2y$10$...', // 12345
'client1' => '$2y$10$...', // 12345
'supplier1'=> '$2y$10$...', // 12345
);
// Roly
$readonly_users = array(); // len sťahovanie
$upload_only_users = array('client1', 'supplier1'); // upload + download
$manager_users = array('manager1'); // všetko okrem mazania
// Izolované priečinky (klienti/dodávatelia vidia len svoj)
$directories_users = array(
'client1' => '/var/www/html/uploads/client1',
'supplier1' => '/var/www/html/uploads/supplier1',
);-
Vygenerovať hash hesla (v termináli na serveri):
php -r "echo password_hash('vase_heslo', PASSWORD_BCRYPT) . PHP_EOL;"Prípadne online: https://tinyfilemanager.github.io/docs/pwd.html
-
Doplniť do
config.php:// 1. pridať používateľa $auth_users['client3'] = '$2y$10$...hash...'; // 2. priradiť rolu $upload_only_users[] = 'client3'; // 3. nastaviť izolovaný priečinok $directories_users['client3'] = '/var/www/html/uploads/client3';
-
Vytvoriť priečinok na disku:
mkdir /var/www/html/uploads/client3
- Stabilnejšie uloženie nastavení s JSON odpoveďou a lepšou detekciou chýb pri zápise konfigurácie.
- Po uložení nastavení sa zobrazí potvrdenie a používateľ sa automaticky presmeruje späť na zoznam súborov.
- Vylepšené prepínanie témy (light/dark) vrátane konzistentného zebra štýlu tabuľky.
- Mobilné UX zlepšenia: rýchle akcie v navigácii, väčšie dotykové ciele, sticky panel pre multi-výber.
- Automatický grid režim na mobile, ak nie je uložená preferencia používateľa.
- Kompaktný režim tabuľky pod 480 px (skrytie menej dôležitých stĺpcov).
- Lokalizácia textu „Selected“ pre nové mobilné počítadlo výberu (vrátane
translation.json). - Pripravený release balík
tinyfilemanager-1.6.zip.
- Available under the GNU license
- Original concept and development by github.com/alexantr/filemanager
- CDN Used - jQuery, Bootstrap, Font Awesome, Highlight js, ace js, DropZone js, and DataTable js
- To report a bug or request a feature, please file an issue
- Contributors
