在PHP中将文件上载到S3

在PHP中将文件上载到S3,php,amazon-web-services,heroku,amazon-s3,Php,Amazon Web Services,Heroku,Amazon S3,我有一个学校项目,我认为一切都很顺利,然后我部署了它,发现用户无法将图像上传到heroku上,因为它的文件系统很短暂。我的整个应用程序几乎都以用户上传图像为中心 我在某个地方阅读了AWS S3存储。所以我是按照学校的指示做的 我已经完成了大部分配置过程,但最后它说: 将以下内容放入名为index.php的文件中 两个问题: 它没有说明将index.php放在哪里。我假设它位于项目根目录中 我的另一个问题是代码本身。在第15行,他们说不要使用“name”进行上传,这是用户计算机的原始文件名。我不确

我有一个学校项目,我认为一切都很顺利,然后我部署了它,发现用户无法将图像上传到heroku上,因为它的文件系统很短暂。我的整个应用程序几乎都以用户上传图像为中心

我在某个地方阅读了AWS S3存储。所以我是按照学校的指示做的

我已经完成了大部分配置过程,但最后它说:

将以下内容放入名为index.php的文件中

两个问题:

它没有说明将index.php放在哪里。我假设它位于项目根目录中


我的另一个问题是代码本身。在第15行,他们说不要使用“name”进行上传,这是用户计算机的原始文件名。我不确定这是什么意思,我怎么知道用户上传的文件名是什么?

1您可以将index.php放在project根文件夹或另一个自动加载核心文件的文件夹中。 2名称-它是文件名。例如:

<form method="post" action="index.php">
<input type="file" name="myfile">
<button>Submit</button>
</form>
在这种情况下,您应该使用['myfile']['name']。 如果您需要修改文件名或使用唯一名称,您可以添加类似时间的内容。'.'$.\u FILES['userfile']['name']

如果文件名等于$_FILES['userfile']['name'],则文件将以您上载的相同名称保存。例如,如果您上载file.txt,但S3上已经存在同名文件,则它将被替换。也许他们描述了这个问题。可以使用动态文件名

在现有的应用程序中,您不会将其放在index.php中。这是一个独立的示例/演示应用程序。
<form method="post" action="index.php">
<input type="file" name="myfile">
<button>Submit</button>
</form>