wyrihaximus / s3-parallel-upload
异步上传到 AWS S3
dev-master
2014-11-10 09:56 UTC
Requires
- aws/aws-sdk-php: ~3.0
- react/filesystem: *
- wyrihaximus/react-guzzle-ring: dev-master
Requires (Dev)
- phpunit/phpunit: ~4.0
- satooshi/php-coveralls: ~0.6
This package is auto-updated.
Last update: 2024-09-05 10:24:50 UTC
README
使用 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
特此授予任何人免费获得此软件及其相关文档副本(以下简称“软件”)的权利,不受任何限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本,并允许向获得软件的人提供软件,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是因合同、侵权或其他原因产生的,也不论这些责任是否与软件或其使用或其他方式有关。