2lenet/file-bundle

文件包

安装: 3

依赖项: 0

建议者: 0

安全: 0

星星: 0

关注者: 0

分支: 0

公开问题: 0

类型:symfony-bundle

1.0.0 2024-09-24 13:45 UTC

This package is auto-updated.

Last update: 2024-09-24 20:07:32 UTC


README

Validate .github/workflows/test.yml SymfonyInsight

这是一个标准的Symfony扩展包,用于处理与实体相关联的数据文件

安装

该包尚未在Packagist上,请确保将以下内容添加到您的composer.json文件中

{
    "url": "https://github.com/2lenet/FileBundle",
    "type": "git"
}

使用Composer安装

composer require 2lenet/file-bundle

使用

在您的控制器或服务中,只需使用fileManager获取数据库和绝对路径以存储数据。

        $fileSpec = $this->fileManager->getLocalFilename(
            ENTITY::PDFSTORAGENAME,
            $object,
            "pdf"
        );
  • 该函数的第一个参数是存储的名称。每个实体中的每个字段都有自己的存储。在实体类中设置一个常量是一个好习惯。
  • 第二个参数是一个对象(最好有getId方法,但不是必需的)。可选地,您可以有一个getDateForFilename方法来获取用于创建文件夹的日期。
  • 第三个可选参数是添加到文件上的扩展名(默认为.bin)。不要设置点(.)。

该函数返回一个包含两个属性的FileSpec对象

  • dbPath是用于存储在数据库中的路径(从项目目录相对路径)
  • absPath是用于写入数据的文件名(使用标准函数打开它)

路径按照这种方式构建($projectDir / data / $storeName / Y / M / D / $object->getId() . $ext),如果文件夹不存在,则会创建具有正确权限的文件夹。Y/M/D是从$object->getDateForFilename()获取的年份、月份和日期,如果它存在,否则使用今天的日期。

        file_put_contents($fileSpec->absPath,$youdata);
        $object->setLocalPdf($fileSpec->dbPath);