2017 © Pedro Peláez
 

library laravel-directory-cleanup

This package will remove the expired files from the given directories.

image

spatie/laravel-directory-cleanup

This package will remove the expired files from the given directories.

  • Wednesday, June 6, 2018
  • by Spatie
  • Repository
  • 8 Watchers
  • 100 Stars
  • 40,057 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 14 Forks
  • 1 Open issues
  • 6 Versions
  • 26 % Grown

The README.md

Delete old files in Laravel apps

Latest Version on Packagist Software License run-tests Total Downloads, (*1)

This package will delete old files from directories. You can use a configuration file to specify the maximum age of a file in a certain directory., (*2)

Support us

, (*3)

We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products., (*4)

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall., (*5)

Installation

You can install the package via composer:, (*6)

``` bash composer require spatie/laravel-directory-cleanup, (*7)


In Laravel 5.5 the service provider will automatically get registered. In older versions of the framework just add the service provider in `config/app.php` file: ```php 'providers' => [ ... Spatie\DirectoryCleanup\DirectoryCleanupServiceProvider::class, ];

Next, you must publish the config file:, (*8)

php artisan vendor:publish --provider="Spatie\DirectoryCleanup\DirectoryCleanupServiceProvider"

This is the content of the published config file laravel-directory-cleanup, (*9)

return [

    'directories' => [

        /*
         * Here you can specify which directories need to be cleanup. All files older than
         * the specified amount of minutes will be deleted.
         */

        /*
        'path/to/a/directory' => [
            'deleteAllOlderThanMinutes' => 60 * 24,
        ],
        */
    ],

    /*
     * If a file is older than the amount of minutes specified, a cleanup policy will decide if that file
     * should be deleted. By default every file that is older than the specified amount of minutes
     * will be deleted.
     *
     * You can customize this behaviour by writing your own clean up policy.  A valid policy
     * is any class that implements `Spatie\DirectoryCleanup\Policies\CleanupPolicy`.
     */
    'cleanup_policy' => \Spatie\DirectoryCleanup\Policies\DeleteEverything::class,
];

Usage

Specify the directories that need cleaning in the config file., (*10)

When running the console command clean:directories all files in the specified directories older than deleteAllOlderThanMinutes will be deleted. Empty subdirectories will also be deleted., (*11)

This command can be scheduled in Laravel's console kernel., (*12)

// app/Console/Kernel.php

protected function schedule(Schedule $schedule)
{
   $schedule->command('clean:directories')->daily();
}

Writing a custom clean up policy

If you want to apply additional conditional logic before a file is deleted, you can replace the default cleanup_policy with a custom one. Create a class which implements Spatie\DirectoryCleanup\Policies\CleanupPolicy and add your logic to the shouldDelete method., (*13)

// app/CleanupPolicies/MyPolicy.php

namespace App\CleanupPolicies;

use Symfony\Component\Finder\SplFileInfo;
use Spatie\DirectoryCleanup\Policies\CleanupPolicy;

class MyPolicy implements CleanupPolicy
{
    public function shouldDelete(SplFileInfo $file) : bool
    {
        $filesToKeep = ['robots.txt'];

        return ! in_array($file->getFilename(), $filesToKeep);
    }
}

Changelog

Please see CHANGELOG for more information on what has changed recently., (*14)

Testing

bash $ composer test, (*15)

Contributing

Please see CONTRIBUTING for details., (*16)

Security

If you've found a bug regarding security please mail security@spatie.be instead of using the issue tracker., (*17)

Credits

License

The MIT License (MIT). Please see License File for more information., (*18)

The Versions

06/06 2018

dev-master

9999999-dev https://github.com/spatie/laravel-directory-cleanup

This package will remove the expired files from the given directories.

  Sources   Download

MIT

The Requires

 

The Development Requires

spatie laravel-directory-cleanup

08/03 2018

1.1.2

1.1.2.0 https://github.com/spatie/laravel-directory-cleanup

This package will remove the expired files from the given directories.

  Sources   Download

MIT

The Requires

 

The Development Requires

spatie laravel-directory-cleanup

07/03 2018

1.1.1

1.1.1.0 https://github.com/spatie/laravel-directory-cleanup

This package will remove the expired files from the given directories.

  Sources   Download

MIT

The Requires

 

The Development Requires

spatie laravel-directory-cleanup

05/05 2016

1.0.0

1.0.0.0 https://github.com/spatie/laravel-directory-cleanup

This package will remove the expired files from the given directories.

  Sources   Download

MIT

The Requires

 

The Development Requires

spatie laravel-directory-cleanup

05/05 2016

dev-scrutinizer

dev-scrutinizer https://github.com/spatie/laravel-directory-cleanup

This package will remove the expired files from the given directories.

  Sources   Download

MIT

The Requires

 

The Development Requires

spatie laravel-directory-cleanup

29/04 2016

0.0.1

0.0.1.0 https://github.com/spatie/laravel-directory-cleanup

This package will remove the expired files from the given directories.

  Sources   Download

MIT

The Requires

 

The Development Requires

spatie laravel-directory-cleanup