Zen File Manager is a clean, modern, and intuitive web-based file management solution that enables you to effortlessly browse, manipulate, and organize your files and directories through a beautiful, responsive interface. Built with PHP and modern web technologies, it provides a seamless file management experience directly from your browser.
-
π File Operations
- Browse files and folders with an intuitive UI
- Create, rename, copy, cut, and paste files/folders
- Delete files/folders with confirmation
- Real-time search and filtering capabilities
-
π€ Upload & Download
- Easy drag-and-drop file uploads
- Multiple file upload support
- Direct file downloads
- ZIP file extraction
-
ποΈ Preview & View
- View text files directly in the browser
- Preview images and documents
- Code syntax highlighting for common file types
- Render HTML files in a preview pane
-
π Security
- Path traversal prevention
- Configurable base directory restriction
- File operation validations
- Session-based buffer management
-
π» User Interface
- Clean, modern responsive design
- Breadcrumb navigation for easy directory traversal
- Intuitive status messages
- Keyboard shortcuts support
- Dark/Light theme support (coming soon)
- PHP 7.4 or higher
- Web server with PHP support (Apache, Nginx, etc.)
- Modern browser (Chrome, Firefox, Safari, Edge)
-
Clone the repository:
git clone https://github.com/sculptorofcode/zen-file-manager.git
-
Move to your web server directory: For XAMPP users:
# On Windows xcopy /E /I zen-file-manager C:\xampp\htdocs\file-manager\ # On Linux/macOS cp -R zen-file-manager /opt/lampp/htdocs/file-manager/
For other web servers:
mv zen-file-manager /path/to/your/webserver/
-
Configure the base directory: Edit
includes/config.php
to set your desired base directory.define('BASE_DIR', '/absolute/path/to/directory');
-
Set proper permissions (Linux/macOS only):
chmod -R 755 /path/to/file-manager
-
Access through your web browser:
http://localhost/file-manager/
You'll be directed to the login page for authentication.
- Click on folders to navigate into them
- Use the breadcrumb navigation to move back up
- Use the "Parent Directory" button to go one level up
-
Create new file/folder:
- Click "New File" or "New Folder"
- Enter name in the modal
- Click "Create"
-
Rename files/folders:
- Click the rename icon (βοΈ) next to the file/folder
- Enter new name
- Click "Rename"
-
Copy, Cut & Paste:
- Click "File Operations" button
- Select files/folders
- Click "Copy" or "Cut"
- Navigate to target directory
- Click "Paste Here"
-
Upload files:
- Click "Choose File" or drag files to the upload area
- Click "Upload"
- Extract ZIP files: Click the extract icon next to any ZIP file
- View Code Files: Click the code icon to view file contents
- Filter/Search: Type in the search box to filter files in the current directory
Edit the assets/css/improved-styles.css
file to customize the look and feel.
Modify settings in includes/config.php
to adjust behavior:
- Change the BASE_DIR setting to control access restrictions
- Add additional configuration parameters as needed
βββ assets/ # CSS, JS, and library files
β βββ css/ # Stylesheets
β β βββ improved-styles.css # Main CSS file
β βββ js/ # JavaScript files
β β βββ jquery.min.js # jQuery library
β β βββ main.js # Main application JS
β βββ libs/ # External libraries
β βββ font-awesome/ # Icons and fonts
βββ includes/ # PHP functions and modules
β βββ config.php # Configuration settings
β βββ breadcrumbs.php # Navigation breadcrumbs
β βββ dir_operations.php # Directory operation functions
β βββ file_operations.php # File operation functions
β βββ file_utils.php # File utility functions
β βββ functions.php # General functions
β βββ session_manager.php # Session handling
β βββ template_functions.php # UI template functions
β βββ utils.php # Utility functions
β βββ layout/ # Layout templates
β βββ error.php # Error template
β βββ footer.php # Footer template
βββ about.php # About page
βββ help.php # Help documentation
βββ index.php # Main application file
βββ support.php # Support information
- This application includes built-in authentication for basic security
- For public-facing installations, consider adding:
- HTTPS encryption (SSL/TLS certificates)
- Enhanced authentication mechanisms (2FA, OAuth, etc.)
- Request rate limiting
- IP-based access restrictions
- Regularly update your PHP version and dependencies
- Limit access to sensitive directories through proper configuration
- Back up important files before performing bulk operations
- Review all file permissions in production environments
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Improved UI with responsive design
- Breadcrumb Navigation for easy directory traversal
- File Preview support for multiple file types
- Enhanced Error Handling with detailed feedback
- Font Awesome for the beautiful icons
- jQuery for simplifying JavaScript operations
- All contributors who have invested their time and efforts
- Project Link: https://github.com/sculptorofcode/zen-file-manager
- For help and support, please check the help.php and support.php pages
- Submit bug reports and feature requests through GitHub Issues