Download the PHP package dxgx/tree-size-mailer without Composer

On this page you can find all versions of the php package dxgx/tree-size-mailer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package tree-size-mailer

Tree Size Mailer

A Laravel package that generates comprehensive directory tree size reports and emails them to specified recipients. Perfect for monitoring disk usage, identifying large directories, and tracking storage growth over time.

Features

Requirements

Installation

Install the package via Composer:

Publish Configuration

Publish the configuration file to customize settings:

This creates config/tree-size-mailer.php in your application.

Publish Views (Optional)

If you want to customize the email template:

This publishes the email blade template to resources/views/vendor/tree-size-mailer/.

Configuration

Configuration File

After publishing, edit config/tree-size-mailer.php:

Report Layout Configuration

Control which sections appear in your email reports and their order. The layout array accepts 1-3 sections from the available options:

Available Sections:

Configuration Examples:

Email Format: The package automatically generates both HTML (styled tables) and plain text (ASCII formatted) versions of the email for maximum compatibility.

Excluding Directories

You can exclude specific directories from all report sections using wildcard patterns. Only directory paths are checked (not individual files).

Pattern Syntax:

Configuration Example:

php 'breakdown_dirs' => [ '/vendor' => 3, // Composer packages (3 levels) '/storage/app/public/photos' => 2, // Photo storage (2 levels) '/node_modules' => 2, // NPM packages (2 levels) '/public_html' => 2, // Public assets (2 levels) ],

Performance Note: Exclusion patterns are checked in order. List more specific patterns first for optimal performance.

Effect on Reports:

Environment Variables

Add these to your .env file:

Multiple Recipients

To send reports to multiple email addresses, edit the config file directly:

Usage

Manual Execution

Run the report command manually:

The command will:

  1. Scan the configured directory
  2. Generate size reports (overview, detailed, vendor breakdown, tree view)
  3. Email the report to all configured recipients
  4. Display summary statistics in the console

Scheduled Execution

Add the command to your application's scheduler for automatic reports.

Laravel 11+ (using schedule in bootstrap/app.php or routes/console.php)

Option 1: In routes/console.php:

Option 2: In bootstrap/app.php:

Laravel 10 and below (using app/Console/Kernel.php)

Scheduling Examples

Report Sections

the following sections (in order):

1. Directory Tree

Hierarchical tree view with clean 4-space indentation showing the directory structure. Only includes directories larger than min_tree_size (default: 1 MB). Shows applied depth and size filters at the bottom.

Display format: Uses fixed-width font with simple indentation (no tree characters).

2. Overview

High-level summary of directories up to the configured depth (default: 5 levels). Shows only directories larger than min_overview_size (default: 1 MB). Excludes directories configured in breakdown_dirs.

Filter note: Shows max depth, min size, and excluded breakdown directories.

3. Detailed Directory Sizes

Complete list of all directories with their sizes, sorted by size descending. Limited to detailed_max_rows (default: 100). Excludes:

Filter note: Shows row limit, min size, and excluded directories.

4. Custom Direc

Detailed: 100 dirs, 3.12 GB Vendor Breakdown (3 Levels): 103 items, 123.99 MB Public Html Breakdown (2 Levels): 6 items, 5.77 MB Tree: 89 items, 2.67 GB Tree size report emailed to: [email protected]

Tree size report generated: Overview: 45 dirs, 2.34 GB Detailed: 312 dirs, 3.12 GB Vendor: 156 packages, 487.23 MB Tree: 89 items, 2.67 GB Tree size report emailed to: [email protected] bash TREE_SIZE_REPORT_SCAN_PATH=/var/www/client-sites/client-123 bash chmod -R 755 /path/to/scan bash php -d memory_limit=512M artisan dg:tree-size-mailer bash php -d max_execution_time=600 artisan dg:tree-size-mailer



## Security Considerations

- Limit scan paths to trusted directories
- Restrict email recipients to authorized personnel
- Be cautious when publishing views (may expose directory structure)
- Use queue for large scans to avoid blocking requests

## License

MIT License. See LICENSE file for details.

## Support

For issues, questions, or contributions, please contact:
- Email: [email protected]

## Used In

This package is actively used in production by the following projects:

- [DeadSimpleApps.com - well dead simple apps for smart people](https://deadsimpleapps.com)
- [tvfilmai.lt - tv filmų programa ir gidas](https://tvfilmai.lt)
- [FlyFiles.io - share files with pin](https://flyfiles.io)
- [AdvertGates.eu - car seller management and export system](https://advertgates.eu)

## Changelog

See [CHANGELOG.md](CHANGELOG.md) for version history.

All versions of tree-size-mailer with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/console Version ^9.0|^10.0|^11.0|^12.0
illuminate/mail Version ^9.0|^10.0|^11.0|^12.0
illuminate/support Version ^9.0|^10.0|^11.0|^12.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package dxgx/tree-size-mailer contains the following files

Loading the files please wait ...