clivern/file_uploader

PHP 文件上传包

v1.0.2 2016-06-18 20:43 UTC

This package is auto-updated.

Last update: 2024-08-29 21:27:29 UTC


README

PHP 文件上传包

当前版本:[v1.0.2]

Build Status Latest Stable Version License

安装

通过 Composer

$ composer require clivern/file_uploader

使用方法

首先配置上传类。

include_once dirname(__FILE__) . '/vendor/autoload.php';

$uploader = new \Clivern\FileUploader\Uploader([
    'dir_path' => dirname(__FILE__), # Path to storage directory
    'dir_name' => 'storage', # Storage directory name
    'year_storage_based' => true, # Whether to arrange uploaded file in year directories
    'month_storage_based' => true, # Whether to arrange uploaded file in months under year directories
]);

然后上传并验证文件

$result = $uploader->uploadFile('test', [ # test is the file input name

    # validate allowed extensions
    # Possible values are:
    #   false => to stop extension validation.
    #   array of allowed extensions.
    'supported_extensions' => ['txt'],

    # validate allowed types
    # Possible values are:
    #   false => to stop type validation.
    #   array of allowed types.
    'supported_types' => ['text/plain'],

    # Maximum upload size
    # Possible values are:
    #   false => to stop size validation.
    #   1KB or 2KB or 8KB and so on.
    #   2MB or 3MB or 8MB and so on.
    #   3GB or 4GB or 5GB and so on.
    #   4TP or 8TP or 10TP and so on.
    #   9PB or 8PB and so on.
    'max_size' => '2MB',
]);

然后检查文件是否已上传

if (!$result) {
    # Get Errors List
    $errors = $uploader->getErrors();
}else{
    # Get uploaded file info
    $file_info = $uploader->getFileInfo();
}

探索此工作示例

<?php
include_once dirname(__FILE__) . '/vendor/autoload.php';

if( isset($_FILES['test']) ){

    $uploader = new \Clivern\FileUploader\Uploader([
        'dir_path' => dirname(__FILE__), # Path to storage directory
        'dir_name' => 'storage', # Storage directory name
        'year_storage_based' => true, # Whether to arrange uploaded file in year directories
        'month_storage_based' => true, # Whether to arrange uploaded file in months under year directories
    ]);

    $result = $uploader->uploadFile('test', [ # test is the file input name

        # validate allowed extensions
        # Possible values are:
        #   false => to stop extension validation.
        #   array of allowed extensions.
        'supported_extensions' => ['txt'],

        # validate allowed types
        # Possible values are:
        #   false => to stop type validation.
        #   array of allowed types.
        'supported_types' => ['text/plain'],

        # Maximum upload size
        # Possible values are:
        #   false => to stop size validation.
        #   1KB or 2KB or 8KB and so on.
        #   2MB or 3MB or 8MB and so on.
        #   3GB or 4GB or 5GB and so on.
        #   4TP or 8TP or 10TP and so on.
        #   9PB or 8PB and so on.
        'max_size' => '2MB',
    ]);

    echo '<pre>';
    if (!$result) {
        # Get Errors List
        $errors = $uploader->getErrors();
        var_dump($errors);
    }else{
        # Get uploaded file info
        $file_info = $uploader->getFileInfo();
        var_dump($file_info);
    }
    die();
}

?>

<form action="" method="POST" enctype="multipart/form-data">
    <input type="file" name="test" />
    <input type="submit"/>
</form>

变更日志

Version 1.0.2
> Initial Release

测试

$ composer test

贡献

请参阅 CONTRIBUTINGCONDUCT 以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件 hello@clivern.com 而不是使用问题跟踪器。

许可证

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