expresslanding/laravel-filesystem

适用于 Laravel 9.X 的文件系统处理

安装: 783

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 3

分支: 0

开放问题: 0

类型:laravel-package

1.0.5 2022-05-27 14:14 UTC

This package is not auto-updated.

Last update: 2024-09-14 21:26:09 UTC


README

Laravel 文件系统 是 Laravel 功能的扩展,用于处理文件系统。您可以连接无限数量的磁盘,管理其状态,跟踪占用空间。

简介

该软件包允许您使用不同类型的驱动程序(locals3SFTPFTP)与无限数量的磁盘一起工作。您可以监控磁盘空间、管理状态等。有关支持的文件系统和驱动程序的更多信息,请参阅 Laravel 文件系统

安装

通过 composer 安装此软件包,请执行

composer require expresslanding/laravel-filesystem

您应使用以下命令发布迁移和 config/filesystem.php 配置文件

php artisan vendor:publish --provider="ExpressLanding\Filesystem\FilesystemServiceProvider"

配置

设置数据库

该软件包支持两种类型的数据库

  • MySQL
  • PostgreSQL

发布配置和迁移后,您应为您的应用程序设置数据库。

MySQL 设置

对于 MySQL 数据库,第一步是将 FILESYSTEM_DATABASE 设置为 mysql。您可以在 .env 配置文件或 config/filesystem.php 中的 database 部分执行此操作。下一步,您应设置表名。在您的应用程序的 .env 配置文件中添加 FILESYSTEM_TABLE 参数以及表名。

示例 .env

FILESYSTEM_DATABASE=mysql
FILESYSTEM_TABLE=filesystems

修改迁移中的两个字段。打开包迁移并更改 nameconfig 字段的类型。

之前

...
$table->text('name');                                               // For MySQL use string('name', 200);
$table->jsonb('config');                                            // For MySQL use text('config');
...

之后

...
$table->string('name', 200);
$table->text('config');
...

Postgres 设置

默认情况下,Laravel 软件包与 Postgres 数据库一起工作,并且 database 部分默认为 pgsql。但是,您可以在 .env 参数中添加 FILESYSTEM_DATABASE 作为 pgsql,以防万一。下一步,您应设置表名。在您的应用程序的 .env 配置文件中添加 FILESYSTEM_TABLE 参数以及表名。您可以使用模式声明表名,例如 content 模式中的 filesystems 表。

示例 .env

FILESYSTEM_DATABASE=pgsql
FILESYSTEM_TABLE=content.filesystems

状态

每个文件系统都有其他状态。您可以在 config/filesystem.php 中的 statuses 部分设置自定义状态。默认情况下

  • available:主要磁盘状态。如果状态可用,则可以与磁盘一起工作。如果您想更改此状态名称,则必须在配置文件 config/filesystem.php 中的 statuses_map -> availableDisk 部分声明新名称。
  • deactivated:这是磁盘创建后的默认状态。如果您想更改此状态名称,则必须在配置文件 config/filesystem.php 中的 statuses_map -> newDisk 部分声明新名称。
  • disabled:您可以使用“禁用”状态禁用磁盘。
  • full:当磁盘满时,触发“满”状态。
  • transferred:例如,如果数据已转移到另一个驱动器。仅在服务状态。
  • archived:如果磁盘需要删除一段时间后,请设置此状态。
  • maintenance:如果您需要执行技术工作,请使用此状态标记磁盘。

状态重命名

再次关于两个主要状态。Laravel 文件系统软件包有两个主要状态 availabledeactivated。如果您想更改名称,则必须在配置文件 config/filesystem.php 中的 statuses_map 部分声明它们。

可用 状态重命名示例 config/filesyste.php

    ...
    'statuses' => [
        /*
         * Don't rewrite this status because it's main disk status!
         */
        'newAvailableStatusName',
        ...
    ],
    'statuses_map'   => [
        ...
        /*
         * Status defining a free disk for work
         */
        'availableDisk' => 'newAvailableStatusName',
    ],
],

已禁用 状态重命名示例 config/filesyste.php

    ...
    'statuses' => [
        ...
        /*
         * This status is the default after disk creation.
         */
        'newDeactivatedStatusName',
        ...
    ],
    'statuses_map'   => [
        /*
         * The status assigned to the new disk
         */
        'newDisk'       => 'newDeactivatedStatusName',
        ...
    ],
],

方法

即将推出

命令

即将推出