草庐IT

php - Laravel league/flysystem 使用 AWS S3 获取文件 URL

我正在尝试基于league/flysystem在Laravel中构建一个文件管理系统:https://github.com/thephpleague/flysystem我正在使用S3适配器,我可以使用它来保存上传的文件:$filesystem->write('filename.txt','contents');现在我在使用S3适配器时一直在生成下载文件URL。文件已正确保存在S3存储桶中,我有权访问它们,我只是不知道如何通过league/flysystem包获取S3getObjectUrl方法。我试过了:$contents=$filesystem->read('filename.txt

php - 使用恢复支持将大文件上传到 S3

(我是AmazonAWS/S3的新手,所以请多多包涵)我的最终目标是让我的用户使用他们的网络浏览器将文件上传到S3,我的要求是:我必须处理大文件(2GB+)我必须支持带进度指示器的暂停/恢复(可选但可取!)能够在连接暂时断开时恢复上传我的问题分为两部分:我已阅读有关S3分段上传的信息,但不清楚如何才能为基于网络浏览器的上传实现暂停/恢复。是否可以对大文件执行此操作?如果是怎么办?我是否应该将文件上传到EC2,然后在完成后将它们移动到S3?能我(安全地)将文件直接上传到S3而不是使用临时文件。网络服务器?如果可以直接上传到S3,我该如何处理暂停/恢复?附言。我正在使用PHP5.2+

php - 使用 Filesystem Laravel 5.2 从 amazon s3 获取文件的签名 URL

我正在寻找一个很好的解决方案来从amazons3获取签名的url。我有一个版本可以使用它,但没有使用laravel:privatefunctiongetUrl(){$distribution=$_SERVER["AWS_CDN_URL"];$cf=Amazon::getCFClient();$url=$cf->getSignedUrl(array('url'=>$distribution.self::AWS_PATH.rawurlencode($this->fileName),'expires'=>time()+(session_cache_expire()*60)));return$

php - 上传ZIP文件到S3,使用EC2解压

我有一个Codeigniter网络应用程序,它每小时将许多小文件上传到AmazonS3,这导致我的S3请求费用飞速上升。解决这个问题的一种方法是压缩文件,将zip文件上传到S3,然后在S3上解压缩。这可以使用EC2完成吗?还是有更好的方法来实现这一目标?谢谢!!编辑:如果我要使用EC2,我是否使用PHP触发EC2实例的创建,上传解压缩压缩文件所需的PHP文件,将解压缩的文件复制到S3,然后销毁EC2实例? 最佳答案 如果您在同一地区有一台EC2机器,我建议您将其压缩上传到那里,然后从那里解压缩到s3。S3无法自行解压缩,因为它是静态

php - 使用 Laravel 5.0 Storage facade 将元数据、 header (Expires、CacheControl)添加到上传到 Amazon S3 的文件

我正在尝试了解如何将元数据或header(Expires、CacheControl等)添加到使用Laravel5.0存储门面上传的文件中。我已将此处的页面用作引用。http://laravel.com/docs/5.0/filesystem以下代码可以正常工作:Storage::disk('s3')->put('/test.txt','test');经过挖掘,我还发现有一个“可见性”参数将ACL设置为“公共(public)读取”,因此以下内容也可以正常工作。Storage::disk('s3')->put('/test.txt','test','public');但我希望能够为文件的标

php - amazon s3 - 图片下载而不是在浏览器中显示

这让我发疯。我正在使用phpSDK将图像上传到S3。每当我浏览到图像URL时,浏览器都会下载图像而不是显示它。我认为这与内容类型有关。//PreparetouploadthefiletoS3bucket.$s3->create_object($bucket,$file_name,array('contentType'=>'binary/octet-stream','acl'=>AmazonS3::ACL_PUBLIC));你能帮忙吗?谢谢 最佳答案 $s3->create_object($bucket,$file_name,arra

PHP 7 更改为 foreach : Can I still delete items in they array on which I'm iterating?

PHP7Backward-IncompatibleChangesDocument对foreach的描述如下:Whenusedinthedefaultby-valuemode,foreachwillnowoperateonacopyofthearraybeingiteratedratherthanthearrayitself.Thismeansthatchangestothearraymadeduringiterationwillnotaffectthevaluesthatareiterated.我试图理解这意味着什么,我的主要问题是这段代码在PHP7中的工作方式是否与在PHP5.6中相

php - 运行 phpunit 时未找到 fatal error 'File/Iterator/Autoload.php'

我尝试在phpunit中运行测试类时遇到此错误。C:\xampp\htdocs\unittest>phpunitUnitTestusertest.phpPHPWarning:require_once(File/Iterator/Autoload.php):failedtoopenstreamNosuchfileordirectoryinC:\xampp\php\pear\PHPUnit\Autoload.phponline45PHPStacktrace:PHP1.{main}()C:\xampp\php\phpunit:0PHP2.require()C:\xampp\php\phpun

php - 列出 Amazon S3 上特定文件夹中的对象

我正在尝试获取存储桶中特定文件夹下的Object列表。我知道要获取我所有对象的列表,我会这样做:$objects=$client->getIterator('ListObjects',array('Bucket'=>$bucket));我只想获取文件夹my/folder/test下的对象。我试过添加'key'=>"my/folder/test",和'prefix'=>"my/folder/test",但它只是返回我存储桶中的所有对象。 最佳答案 您需要使用Prefix将搜索限制在特定目录(一个通用前缀)。$objects=$clie

php - 使用 PHP 查看 S3 中是否存在对象

我正在使用PHP并使用S3API上传文件,但我想确保在上传之前存储桶中不存在这个确切的文件名。我在网上找到了几个使用“file_get_contents”的示例,但这是否意味着您必须先下载整个文件?通常,这些文件大约为10MB,因此理想情况下,我真的不想这样做。有没有办法在不下载文件的情况下使用“file_get_contents”?或者更好的是,也许我可以使用API请求来查看文件名是否存在?内容或文件大小是否相同对我来说并不重要,重要的是文件名。 最佳答案 获取指定的AmazonS3对象是否存在于指定的存储桶中。AmazonS3d