Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使AmazonS3托管的文件显示为本地文件?_Php_Amazon S3 - Fatal编程技术网

Php 如何使AmazonS3托管的文件显示为本地文件?

Php 如何使AmazonS3托管的文件显示为本地文件?,php,amazon-s3,Php,Amazon S3,我正在使用Laravel启动一个项目,并在AmazonS3上托管我的文件。不过,我想要的是,如果有人直接链接到一个文件,它将显示domain.com/images/file.jpg,而不是s3.amazon.com/etc?=file.jpg 我应该如何最好地使用PHP实现这一点?对于其他面临这种困境的人: 通过文件获取内容对其进行抽象是唯一的方法 或者,您可以创建一个bucket子域,如media.mydomain.com。它不是本地的,但至少你没有难看的url。echo file\u get

我正在使用Laravel启动一个项目,并在AmazonS3上托管我的文件。不过,我想要的是,如果有人直接链接到一个文件,它将显示domain.com/images/file.jpg,而不是s3.amazon.com/etc?=file.jpg


我应该如何最好地使用PHP实现这一点?

对于其他面临这种困境的人:

通过文件获取内容对其进行抽象是唯一的方法


或者,您可以创建一个bucket子域,如media.mydomain.com。它不是本地的,但至少你没有难看的url。

echo file\u get\u contents'http://.....file.jpg”“基本上。你将不得不代理文件,这将使你的带宽成本翻倍:将文件下载到你的服务器上,然后将其发送给用户。你不必使用子域——S3和CloudFront都允许你将一个域指向它们——而且你使用local也没有多大意义。文件获取内容是一种可怕的方法,你的用户根本不关心图片所在的域。@ceejayoz如果你的网站内容是主图片,那么它实际上对搜索引擎优化非常重要。是的,任何cname都可以在cloudfront上使用,但是如果你还有一个在别处托管的网站,你不能将你的根域指向多个ip。如果你的网站的内容是主图像,这实际上对SEO非常重要。你有证据证明这一点吗?听起来像是SEO吸引的众多老太太故事之一。像Flickr.com这样的照片网站在子域上托管实际上,Flickr甚至使用staticflickr.com,在搜索引擎优化方面做得很好。