adt / files
    v5.5.1
    2024-03-15 14:47 UTC
Requires
- doctrine/orm: ^2.2
- nette/utils: ^2.2 | ^3.0 | ^4.0
README
安装
$ composer require adt/files
- 创建 \ADT\Files\Listeners\FileListener实例 - 参数- $dataDir是文件保存的目录路径
- $dataUrl是指向同一目录的URL
- 实现 Doctrine\ORM\EntityMangerInterface
 
- 将 \ADT\Files\Listeners\FileListener注册到Doctrine\Common\EventManger。如果你使用 kdyby ORM 扩展,可以通过添加标签kdyby.subscriber来实现,如下所示services: - factory: ADT\Files\Listeners\FileListener(%dataFolder%/files, 'files') tags: [kdyby.subscriber]
- 创建你的文件实体,例如use ADT\Files\Entities\IFileEntity; use ADT\Files\Entities\TFileEntity; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity() */ class File implements IFileEntity { use TFileEntity; } 请随意添加你需要的任何额外列,并不要忘记 id/PK/标识符。
用法
// create instance of entity $file = new File(); // set binary data to entity as variable $file->setTemporaryContent($binaryContentInString, $originalFileName); // or set path to temporary file, for example after receiving submitted form with file input $file->setTemporaryFile($pathToTemporaryFile, $originalFileName); $entityManager->persist($file); $entityManager->flush();