29/08
2017
Garbage cleaner package for Laravel
Garbage cleaner package for Laravel, (*2)
Install package:, (*3)
$ composer require misterpaladin/cleaner
Publish config file to your project:, (*4)
$ php artisan vendor:publish --tag=cleaner
Add MisterPaladin\Cleaner\CleanerServiceProvider
to your config/app.php
providers array, (*5)
/config/cleaner.php
file contents:, (*6)
return [ // Delete file after 3 days and 12 hours [ 'path' => 'path/to/file.ext', 'expires' => [ 'days' => 3, 'hours' => 12, ], ], // Delete directory after 30 minutes [ 'path' => 'path/to/directory', 'expires' => [ 'minutes' => 10, ], ], // Delete directory contents after 1 week [ 'path' => 'path/to/directory/*', 'expires' => [ 'weeks' => 1, ], ] // Define a path array [ 'path' => [ 'path/to/file.ext', 'path/to/directory', 'path/to/directory/*', ], 'expires' => [ 'weeks' => 1, ], ] ];
The expires
option may accept:
- seconds
- minutes
- hours
- days
- weeks
- months
- years, (*7)
[ 'path' => 'path/to/file.ext', 'expires' => [ 'days' => 3, 'hours' => 12, ], 'before' => function ($path) { // Execute before deleting the file }, 'after' => function ($path) { // Execute after deleting the file }, ],
Cleaner runs every minute (if you set it up: https://laravel.com/docs/5.4/scheduling#introduction), (*8)
Manual run: php artisan cleaner:run
, (*9)