草庐IT

S3NativeFileSystem

全部标签

php - 使用 AWS api 检查 amazon s3 上是否存在对象

我正在使用AWSapi,但在检查现有对象(文件夹)时遇到问题。我经历了this问题,它对我没有帮助,因为我使用的是最新更新的SDK。我搜索了SDK并找到了this这应该可以工作,即doesObjectExist,但我无法在任何地方找到函数定义。我的s3.php文件没有此功能。Here是我的S3.php类。我还了解到S3不支持文件夹结构,但由于平面文件系统,它只是在视觉上让它看起来像是存储在一个文件夹中。现在,如果我必须在S3上搜索文件夹1024x768,我是否只检查存储桶的根目录?我的意思是这样的$chkFileExist=$s3->doesObjectExist($bucketNam

php - PHP 的 Heroku 内存错误和从 S3 读取大文件

我正在使用适用于PHP的AWS2.3.2SDK尝试使用他们的流包装器从S3中提取一个大文件(~4g),这应该允许我使用fopen/fwrite将文件写入磁盘并不缓冲到内存中。引用如下:http://docs.aws.amazon.com/aws-sdk-php-2/guide/latest/service-s3.html#downloading-data这是我的代码:publicfunctiondownload(){$client=S3Client::factory(array('key'=>getenv('S3_KEY'),'secret'=>getenv('S3_SECRET'))

php - 将 Cloudfront 与动态图像大小调整和 S3 存储集成

我已经阅读了很多关于动态图像处理、存储和内容交付的文章,我工作的公司已经在他们的一些服务中使用了AWS。我正在开发的应用程序,将文档图像存储到S3存储桶(不限于),我需要按需显示它们。此应用程序的第一个版本,将图像存储在本地并在同一台服务器上按需执行图像处理。现在,文档存储量增加了,并且存储了大量图像,所有这些都是通过Web应用程序进行的,这意味着一个用户可能会上传100多张图像,服务器需要尽可能快地处理它们。这就是为什么将图像上传到EC2实例并在内部流式传输到S3存储桶的原因,这就是我们首先保存原始图像的方式,这里没有缩略图以加快上传过程。然后不同的用户可能想要预览这些图像或以原始大

php - AWS PHP 开发工具包 : Limit S3 file upload size in presigned URL

我正在从事一个涉及生成S3URL的项目,其他人可以使用这些URL将文件上传到我的S3存储桶。这是一个最小的工作示例:getCommand('PutObject',['ACL'=>'private','Body'=>'','Bucket'=>'mybucket','Key'=>'tmp/'.$id]);echo(string)$s3client->createPresignedRequest($command,'+5minutes')->getURI();?>现在,如果我将该文件放在互联网可访问的位置,我的网络服务器可用于获取新的签名上传URL:$curlhttp://my.domain

php - 使用 php 从存储在 S3 上的文件即时创建一个 zip 文件

我有一个Laravel网络应用程序,用户可以在其中上传文件。这些文件可能很敏感,虽然它们存储在S3上,但只能通过我的网络服务器访问(流式下载)。上传后,用户可能希望下载这些文件中的一部分。以前,当用户去下载选择的文件时,我的网络服务器会从S3下载文件,在本地压缩它们,然后将压缩文件发送到客户端。但是一旦投入生产,由于文件大小,服务器响应会经常超时。作为替代方法,我想通过ZipStream即时压缩文件但我运气不佳。zip文件要么以损坏的文件结尾,要么本身已损坏并且非常小。如果可以将S3上文件的流资源传递给ZipStream,解决超时问题的最佳方法是什么?我尝试了几种方法,最近的两种方法如

php - Amazon S3 如何验证访问 key ID 和 secret 访问 key ? PHP SDK v3

我试图在registerStreamWrapper上捕获错误的key异常,但它并没有发生。我的问题是在尝试验证对象是否存在时产生的,如果有人打电话帮助我(最好的方法),那就太棒了,但这是另一个问题。回到问题。我使用此代码通过registerStreamWrapper检查对象是否存在:try{$s3Client=new\Aws\S3\S3Client($sharedConfig);$s3Client->registerStreamWrapper();$file='s3://'."mybucket".'/'."testpath/testpic.jpg";if(file_exists($fi

php - 如何在我的网站上显示来 self 的 Amazon S3 的图像?

我在AmazonS3上有我的照片。这些图片是私有(private)的而不是公开的,所以我无法通过直接链接显示它们s3.amazonaws/bucket_name/key_name/image_name.jpg我知道AmazonS3上的图像名称。我如何使用PHP在我的网站上显示AmazonS3图像flower.png和house.png等? 最佳答案 对于那些使用AWSSDKv3需要此行为的用户,如果您使用“+10分钟”作为第三个参数直接调用getObjectUrl,它将始终返回纯URL。那是因为方法变了。要获取预签名链接,请执行以下

php - 使用 PHP 上传到 Amazon S3

在过去的几个小时里,我一直在学习使用php将文件上传到AmazonS3的教程。我将DonovanSchönknecht的S3类的最新版本上传到我的服务器(作为S3.php),我正在尝试使用以下代码来测试上传功能。我知道这段代码会起作用,因为我已经看到了很多实际的例子。当我尝试加载此页面时收到错误500服务器错误。此外,所有其他具有这种性质的知名教程都给了我同样的错误500。我通过使用Cyber​​duck连接到S3验证了我的key和key有效。有人知道我可能做错了什么吗?谢谢,肖恩 最佳答案 事实证明,我缺少PHP的cURL扩展,这

php - 用于列出 s3 文件夹的 aws sdk php

我知道的很少。文件夹不是S3的概念,它们只是一个零字节对象,其键名使用“/”作为前缀。假设我们为简单起见称它们为文件夹和文件会使我的问题更容易表述。可以使用前缀="root/"执行s3->get_object_list(..)并获取所有文件/文件夹。我的问题是这个。给定文件夹和子文件夹列表,例如root/root/folder1/root/folder1/file1.txtroot/folder2/root/folder3/file2.txt我怎样才能只列出文件夹。我希望阻止列出所有文件(即使不需要返回它们作为响应)但是php中的get_object_list当前不支持commonPr

php - Fine Uploader 到 S3 桶得到 405 Method Not Allowed 错误

我一直在用头撞墙,完全被难住了。我正在尝试使用FineUploader将文件直接上传到我的AmazonS3存储桶。我基本上从fineuploader.com网页(将文件直接上传到AmazonS3)和服务器端PHP复制了代码。当我尝试上传文件时,我看到发送到签名端点的帖子似乎成功运行,但当它尝试上传到S3时,我收到405“方法不允许”错误。HTML$(document).ready(function(){$("#fine-uploader").fineUploaderS3({debug:true,request:{endpoint:'upload.roughdrag.com',acces