marshmallow/laravel-folder-cleaner

使用命令清理文件夹。如果您项目中有需要清理以节省存储空间的临时文件,这将很有帮助。


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

使用命令清理文件夹。如果您项目中有需要清理以节省存储空间的临时文件,这将很有帮助。

安装

您可以通过composer安装此包。

composer require marshmallow/laravel-folder-cleaner

您可以通过运行以下命令安装此包。此安装命令将发布一个配置文件,您可以在其中告知包您想要删除的内容。

php artisan folder-cleaner:install

以下配置文件现在将被发布。

return [

    /**
     * You can specify the folders that should be cleaned in
     * this config array. We will search for these folders
     * in the root directory of you project.
     */
    'folders' => [
        // '/storage/logs',
        // '/storage' => [
        //     'older_than' => '3 months',
        //     'except' => [
        //         'important.log',
        //     ],
        // ],
        // '/storage/app' => [
        //     'older_than' => '1 day',
        //     'match' => '/^export_\d+\.xlsx$/',
        // ],
    ],
];

使用方法

php artisan folder-cleaner:clean {--dry-run} {--quiet}

选项

在配置文件中,您可以指定一些设置,让包知道应该清理什么。

如果您只是为文件夹提供一个字符串,则在运行命令时将删除该文件夹中的所有文件。请注意,这不会递归,文件夹不会被删除。

return [
    'folders' => [
        // '/storage/logs',
    ]
];

您还可以在文件夹路径后指定一些设置作为数组。以下示例将删除所有3个月前更旧的文件,匹配export_{number}.xlsx模式,但不包括export_1.xlsx。

return [
    'folders' => [
        '/storage' => [
            'older_than' => '3 months',
            'match' => '/^export_\d+\.xlsx$/',
            'except' => [
                'export_1.xlsx',
            ],
        ],
    ]
];

如果您有一个包含可删除所有内容的临时目录的目录,您可以使用delete_folders选项。以下示例中,下载目录中的所有文件及其所有子目录在7天旧时将被删除。

return [
    'folders' => [
         '/storage/app/public/download' => [
            'delete_folders' => true,
            'older_than' => '7 days',
        ],
    ]
];

如果您需要更多选项,请告诉我们。这在创建此包时已经足够满足我们的需求。

测试

composer test

变更日志

有关最近更改的更多信息,请参阅变更日志

贡献

有关详细信息,请参阅贡献指南

安全漏洞

有关如何报告安全漏洞的详细信息,请参阅我们的安全策略

鸣谢

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件