wyrihaximus/s3-parallel-upload

异步上传到 AWS S3

dev-master 2014-11-10 09:56 UTC

This package is auto-updated.

Last update: 2024-09-05 10:24:50 UTC


README

Build Status Latest Stable Version Total Downloads Coverage Status License

使用 Guzzle 和 ReactPHP 的 S3 上传工具

安装

使用 composer 安装非常简单,只需运行。

composer require wyrihaximus/s3-parallel-upload

基本用法

<?php

require 'vendor/autoload.php';

use Aws\Common\Aws;
use GuzzleHttp\Client;
use GuzzleHttp\Message\Response;
use React\EventLoop\Factory as EventLoopFactory;
use WyriHaximus\S3ParallelUpload\Uploader;
use WyriHaximus\React\RingPHP\HttpClientAdapter;

$concurrentUploads = 13; // Number of async uploads
$sourceDirectory = 'sea'; // The source directory
$prefix = ''; // Filename prefix just in case
$bucketName = 's3-bucket-name'; // The bucket we're uploading to
$client = Aws::factory('/path/to/config.php')->get('s3');
$logfile = 'stats.log'; // Statistical log file for analysis later on, set to null to disable

$loop = EventLoopFactory::create();

$guzzle = new Client([
    'handler' => new HttpClientAdapter($loop),
]);

(new Uploader($client, $loop, $guzzle, [
    'concurrency' => $concurrentUploads,
    'base-dir' => $sourceDirectory,
    'prefix' => $prefix,
    'bucket' => $bucketName,
    'logfile' => $logfile,
]))->setup()->then(function () {
    echo 'Done', PHP_EOL;
});

$loop->run();

许可证

版权所有 2014 Cees-Jan Kiewiet

特此授予任何获得此软件及其相关文档副本(“软件”)的人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许提供软件的人执行上述操作,但必须遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、特定用途的适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论此类索赔、损害或其他责任是基于合同、侵权或其他原因,并产生于、因或与软件或软件的使用或其他操作相关。