草庐IT

S3FileSystem

全部标签

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)来处理它。然后我有一个“

php - 调用未定义函数 Illuminate\Filesystem\finfo_file()

我在运行的网站上的laravel.log文件中出现以下错误。如何确定错误的来源?由于堆栈跟踪非常短,我不确定从哪里开始。[2017-07-0316:05:13]production.ERROR:exception'Symfony\Component\Debug\Exception\FatalErrorException'withmessage'CalltoundefinedfunctionIlluminate\Filesystem\finfo_file()'in/home/uksacbor/laravel-projects/attestation/vendor/laravel/fram

php - Amazon S3 - 您建议的上传小于允许的最小大小

当我想将图像上传到我的amazons3存储桶时遇到问题。我正在尝试上传大小为238KB的jpg图像。我在我的代码中放了一个try/catch来检查错误是什么。我总是收到此错误:Yourproposeduploadissmallerthantheminimumallowedsize我也尝试过使用1MB和2MB的图像,同样的错误......。这是我的代码:'key','secret'=>'secretkey',));//CreateanewmultipartuploadandgettheuploadID.$response=$client->createMultipartUpload(ar

PHP:获取文件扩展名不适用于上传到 S3

我正在使用AmazonS3API上传文件,每次上传时我都会更改文件的名称。例如:狗.png>3Sf5f.png现在我得到了随机部分这样工作:functionrand_string($length){$chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";$size=strlen($chars);for($i=0;$i所以我将random_string设置为name参数:$params->key=rand_string(5);现在我的问题是这不会显示任何扩展名。因此文件将上传为3Sf5f而不是3Sf5

php - 如何通过 POST 将文件上传到 Amazon S3 存储桶子文件夹?

我正在使用plupload1.4.2将文件直接上传到AmazonS3存储桶。问题是,如何将它们直接上传到子文件夹?我应该在策略或plupload对象配置中配置哪些参数? 最佳答案 AmazonS3没有文件夹或子文件夹的概念。只有对象。一个对象有一个键。如果您想将文件上传到文件夹或子文件夹,只需像这样放置对象键:$key="folder/subfolder/filename.extension";AmazonS3将创建(虚构的)文件夹和子文件夹。 关于php-如何通过POST将文件上传到A