/tinyfilemanager

Web based File Manager in single PHP file, Manage your files efficiently and easily with Tiny File Manager. Additional functionality for viewing specific PES embroidery file types and modified defaults.

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

PiZero-WU Tiny File Manager

GitHub Release GitHub License

Based on TinyFileManager by prasathmani, PiZero-WU TinyFileManager is simple web based file manager that is a small, fast, multi-language ready web application for storing, uploading, editing and managing files and folders online via web browser. The Application runs on PHP 5.5+.

The Tiny File Manager PiZero-WU fork includes settings, extensions and code to permit viewing of special file types rendered by an additional support routine pyembroidery and configuration specific fetaures for PiZero-WU. The pyembroidery extension enables embroidery files to be rendered (viewed) within Tiny File Manager from this fork. See the demonstration below:

Demo

See graphic below for short demonstration

Login Details : admin/admin@123 | user/12345

Documentation

Tinyfilemanager remains to have documentation created. Operation is largely discoverable conforming where possible to functional norms.

Tiny File Manager

Requirements

  • PHP 5.5.0 or higher.
  • pyemroidery
  • Fileinfo, iconv, zip, tar and mbstring extensions are strongly recommended.

How to install

Installation is intended to be managed by PiZero-Wu installer.

For manual install:

a) Download the ZIP containing the latest version from master branch.

b) Unzip the files into a folder in your webspace. e.g. cd /var/www/html/tinyfilemanager

c) Check the following seeings in the tinyfilemanager.php file (extracted in the previous step) :

     $root_path = $_SERVER['DOCUMENT_ROOT'].'/tinyfilemanager/usb';
...     
     set root url for links in file manager.Relative to $http_host. Variants: '', 'path/to/subfolder'
...     
     $root_url = '/tinyfilemanager/usb';

Note '/tinyfilemanager/usb' is a link to the folder containing files to be managed with TinyFileManager. The link and files will need the appropriate access privaliges. It is typically the web user account (e.g. www-data), not the TinyFileManager user names that need access to the files. The extension is transparent to normal operation of Tinyfilemanager.

d) Create the temporary folder.

Typically in the /var/www/html/tinyfilemanager folder to be used by the pyembroidery rendering software. e.g.

   cd /var/www/html/tinyfilemanager
   sudo mkdir tmp

e) Create a link to files to be shared.

Create a link in the Tiny File Manager Folder to the files to be accessed by TinyFileManager.

If the '/mnt/usb_share' does not exists use the following command to create it:

   sudo mkdir /mnt/usb_share

Typically to link the shared file location into tinyfilemanger use the following commands:

   cd /var/www/html/tinyfilemanager
   sudo ln -s /mnt/usb_share usb

The commands above link together the sub folder /var/www/html/tinyfilemanager/usb to the shared drive space at /mnt/usb_share.

To install the pyembroidery viewer use the following commands for Python version 3 and a Raspberry Pi:

   sudo cd /home/pi/
   sudo pip3 install pyembroidery

Passwords

In test versions the authentication default is set to false. i.e. no passwords are required.

New passwords are set by using https://tinyfilemanager.github.io/docs/pwd.html to generate a hash. The hash is stored in the arrray "auth_users" which also defines the names. The defaults are:

Default username/password: admin/admin@123 and user/12345.

To add or change the user names and passwords, the array $auth_users must be edited.

⚠️ Warning: Please set your own username and password in $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.

📢 Features

  • 💿 Open Source, light and extremely simple
  • 📱 Mobile friendly view for touch devices
  • ℹ️ Basic features likes Create, Delete, Modify, View, Quick Preview, Download, Copy and Move files
  • ⏫ Ajax Upload, Ability to drag & drop, upload from URL, multiple files upload with file extensions filter
  • 📁 Ability to create folders and files
  • 🎁 Ability to compress, extract files (zip, tar)
  • 😎 Support user permissions - based on session and each user root folder mapping
  • 💾 Copy direct file URL
  • ✏️ Cloud9 IDE - Syntax highlighting for over 150+ languages, Over 35+ themes with your favorite programming style
  • 📄 Google/Microsoft doc viewer helps you preview PDF/DOC/XLS/PPT/etc. 25 MB can be previewed with the Google Drive viewer
  • ⚡ Backup files and IP blacklist and whitelist
  • 🔎 Search - Search and filter files using datatable js
  • 📁 Exclude folders and files from listing
  • 🌐 Multi-language(20+) support and for translations translation.json is file required
  • ‼️ lots more...

License, Credit

  • 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, ekko-lightbox js, and DataTable js
  • To report a bug, please file an issue
  • Contributors

Attribution

Paypal - Donations to the author of the upstream master.

Donations to this fork author - None