草庐IT

S3_REGION

全部标签

php - 亚马逊 S3-x-amz-meta

我正在通过PHP将照片上传到AmazonS3存储桶。到目前为止一切正常。我的问题是关于x-amz-meta。我会使用x-amz-meta键/值对来存储数据,例如上传者的用户ID及其帐户类型(免费、付费等)吗?或者我是否将其存储为常规元数据,而不是前缀为x-amz-meta?目前照片的示例元数据如下所示:Key:x-amz-meta-user-idValue:1Key:x-amz-meta-user-typeValue:freeKey:Content-TypeValue:image/jpeg这有意义吗?但愿如此。只是检查我是否以正确的方式存储了这些元数据。谢谢!jack

php - 使用脚本在 Amazon S3 存储桶中创建子目录

我在以下链接中找到了用于在amazons3中创建存储桶并维护该存储桶中的文件的脚本。http://net.tutsplus.com/tutorials/php/how-to-use-amazon-s3-php-to-dynamically-store-and-manage-files-with-ease/但我想在amazons3存储桶中创建子目录,并且必须维护这些目录中的文件。任何人都可以告诉我是否可以使用api。如果可能,请告诉我怎么做? 最佳答案 是的,这应该很容易。而不是给予$s3->putObjectFile($fileTe

php - Amazon S3 - 如何检查预签名 URL 是否过期?

如果我生成的预签名URL已过期,我是否应该执行get_headers()(在PHP中)以查看是否抛出403Forbidden错误,否则使用同一个网址?或者这是一个坏主意,因为它是一个不必要的GET请求?我应该总是每次都重新生成一个新的预签名URL吗?我有点困惑,因为似乎没有太多关于此的信息。 最佳答案 URL有它的过期时间。签名版本2https://bucket.s3.amazonaws.com/foo.txt?AWSAccessKeyId=AKIAABCDEFGHIJK&Expires=1508608760&Signature=x

php - 使用 PHP S3 类的 RequestTimeTooSkewed 错误

这是我的第一个PHP项目,所以我真的完全不懂PHP。我想做的是使用PHPS3类将文件上传到S3存储桶。一个示例代码片段昨天可以正常工作,但当我今天再次开始使用它时,几乎完全相同的代码停止工作了。现在我只收到putObject函数返回的以下错误:警告:S3::putObject():RequestTimeTooSkewed请求时间与当前时间之间的差异太大。在/vagrant/LifeInYourWay/S3.php第222行我在一些地方读到服务器时间可能导致错误,所以我将服务器时间更改为America/New_York,但仍然得到同样的结果。我的PHP代码是:if(!class_exis

php - 使用 Amazon S3 PHP SDK 重命名文件

我正在努力使用AmazonS3SDK重命名同一存储桶中的文件。我指的是copyobject在API文档中。这是我的调用,但它一直返回“指定的存储桶不存在”。$clients=S3Client::factory(array('key'=>'key','secret'=>'secret'));try{$result=$clients->copyObject(array('ACL'=>'private',//Bucketisrequired'Bucket'=>'david1982.audio',//CopySourceisrequired'CopySource'=>'mp3/music.mp

php - Laravel s3 多个桶

我的Laravel应用程序需要将存在于多个存储桶中的文件同时处理到单个session中。因此,我找不到将当前存储桶更改多次的方法,因为我的.env文件是这样的:S3_KEY='MY-KEY'S3_SECRET='MySeCret'S3_REGION='us-east-1'S3_BUCKET='my-first-used-bucket'我在某个地方找到了可以这样做的地方:Config::set('filesystems.disks.s3.bucket','another-bucket');但它只工作一次。我需要的是这样的:Storage::disk('s3')->put('/bucket

php - 仅允许注册用户从我的 Amazon S3 存储桶中下载

我正在构建一个PHP网站,该网站会将其内容文件保存在AmazonS3上。网站文件(带有PHP代码)托管在传统服务器上。用户将在网站上注册,注册并登录后,他们将可以访问S3上的文件。问题是,如何只让登录用户下载文件,不让其他人下载?AWSIAM是否必须以某种方式参与?我不想要过期的URL。我只想向特定用户授予文件访问权限,并且我不希望他们在任何时间段内与其他任何人共享链接。将来我还想限制注册用户对文件的访问权限——根据用户帐户的类型,用户可以访问不同的文件。提前感谢回复! 最佳答案 这可以做到...我使用ROR而不是PHP,我的应用程

php - aws转码器覆盖s3上的文件

我正在使用AWSPHPSDK将文件上传到S3,然后使用ElasticTranscoder对其进行转码。首先一切正常,putobject命令覆盖了s3上的旧文件(始终命名相同):$s3->putObject(['Bucket'=>Config::get('app.aws.S3.bucket'),'Key'=>$key,'SourceFile'=>$path,'Metadata'=>['title'=>Input::get('title')]]);但是在创建第二个转码作业时,出现错误:Thespecifiedobjectcouldnotbesavedinthespecifiedbucket

php - Amazon S3 预签名 url - 手动或一次性上传无效

我正在使用S3接受用户直接上传到S3。因此,我将使用预签名的url。上传成功后,AWSLambda会确认上传的文件是图片,然后客户端会告诉我的服务器他已经上传完成。然后我的服务器将检查该文件是否存在于S3中(如果Lambda检测到无效图像,则会将其删除)。如果是,则应用程序逻辑的其余部分将随之而来。但是,这个机制有一个漏洞。在告诉我的服务器他已完成上传(并最初传递了一个有效文件)后,用户可以使用相同的url上传恶意文件。Lambda仍会删除文件,但现在我的服务器会认为文件存在,但实际上并不存在。有什么方法可以生成一次性上传的预签名url,或者是否可以强制使已生成但尚未过期的url失效?

具有本地回退功能的 Amazon S3 PHP 库

是否有可供PHP访问AmazonS3的库,让我可以使用完全相同的代码来读/写S3存储桶或对本地文件执行相同的操作?我想使用S3,但我需要一种方法来在本地运行我的应用程序以进行测试。如果没有直接支持切换到本地文件系统的库,是否有一个以良好的OOP方式编写的库,以便我可以使用相同的接口(interface)制作它的本地文件系统版本?我正在使用Symfony2,所以如果有用于此的bundle,那将是一个加号,但我总是可以自己将其打包。更新我现在正在尝试制作一个bundle来执行此操作。我只需要“创建”、“存在”和“删除”操作,所以我创建了一个接口(interface)来处理它。然后我有一个“