infw/file-manager

In Framework 文件管理器

0.0.1.2 2016-10-27 22:24 UTC

This package is auto-updated.

Last update: 2024-09-18 09:17:22 UTC


README

Scrutinizer Code Quality Code Coverage Build Status

文件管理器提供了一个基本的系统存储文件,它使用 "In Framework" File 对象作为 DTO。

它有一个 SendToStorage 服务来在文件系统中持久化文件。

安装

composer require infw/file-manager

用法

<?php

use InFw\File\BaseMimeTypeFactory;
use InFw\File\GenericFileFactory;
use InFw\File\MimeTypes;
use InFw\Size\BaseSizeFactory;
use InFw\FileManager\BasicStorage;
use InFw\FileManager\UploadToStorage;

$config = [
    'root_path' => '/var/file-storage/',
    'min_size' => 20,
    'max_size' => 140000
];

$factory = new GenericFileFactory(
    new BaseMimeTypeFactory(
        MimeTypes::IMAGES
    ),
    new BaseSizeFactory(
        $config['min_size'],
        $config['max_size']
    )
);

/** @var \InFw\FileManager\StorageInterface $filesystem */
$filesystem = new BasicStorage($config['root_path']);

$upload = new UploadToStorage($filesystem, $factory);

// Assuming your form has an input type=file field named "upload" and an input type=name named "file_name".

/** @var \InFw\File\FileInterface $file */
$file = $upload->sendToStorage($_FILES['upload'][0]['tmp_name'], $_POST['file_name']);