99designs/facade

此包已被放弃,不再维护。未建议替代包。

一个PHP5库,用于通过基于流请求/响应模式访问各种服务

1.0.0 2012-06-12 09:26 UTC

This package is not auto-updated.

Last update: 2023-06-10 06:46:09 UTC


README

Facade 是一个用于高效消耗基于流协议(如HTTP)的开源库。

包括流式HTTP客户端和流式AWS S3客户端。99designs 使用这些来从AWS流式传输大型设计到上游客户端,而无需在任何时候将整个文件缓冲在内存或磁盘上。

示例

从磁盘流式传输文件到S3

<?php

$s3 = new Facade_S3(getenv('AWS_ACCESS_KEY_ID'), getenv('AWS_SECRET_ACCESS_KEY'));
$file = '/uploads/largeimage.jpg';

$response = $s3
	->put("/llamas/largeimage.jpg")
	->setStream(Facade_Stream::fromFile($file))
	->setContentType('image/jpeg')
	->setHeader('Content-MD5: '.base64_encode(md5_file($file, true)))
	->send();

将S3文件流式传输到客户端

<?php

$s3 = new Facade_S3(getenv('AWS_ACCESS_KEY_ID'), getenv('AWS_SECRET_ACCESS_KEY'));

$response = $s3
  ->get('/llamas/largeimage.jpg')
  ->send();

stream_copy_to_stream($response->getStream(), STDOUT);