Php 提交初始表单后,将csv文件重新附加到表单

Php 提交初始表单后,将csv文件重新附加到表单,php,forms,csv,Php,Forms,Csv,我有一个表单,它只是一个文件输入,这个文件输入是为了附加CSV文件,然后你提交它,它会给你一个列表的所有标题选择。一旦您完成了选择,我想提交另一个表单,其中包含这些选择以及要处理的CSV文件 我的问题是我不知道如何将CSV文件重新附加到第二个表单 我考虑过只使用数组来发布数据,但是重新附加CSV文件并正确处理不是更好吗 这就是我所拥有的,我试图查找这个,但什么也找不到 <input type="file" name="fileToUpload" value="<?=$_FILES['

我有一个表单,它只是一个文件输入,这个文件输入是为了附加CSV文件,然后你提交它,它会给你一个列表的所有标题选择。一旦您完成了选择,我想提交另一个表单,其中包含这些选择以及要处理的CSV文件

我的问题是我不知道如何将CSV文件重新附加到第二个表单

我考虑过只使用数组来发布数据,但是重新附加CSV文件并正确处理不是更好吗

这就是我所拥有的,我试图查找这个,但什么也找不到

<input type="file" name="fileToUpload" value="<?=$_FILES['fileToUpload']['tmp_name'];?>">

您所描述的是不可能的-您不能使用PHP将文件写入“文件”输入-它表示来自用户磁盘的位置(服务器端您不知道),并且只在回发时检索实际的文件内容

相反,我建议在第一次提交表单后,将文件存储在服务器磁盘上的临时位置,并将该位置存储在会话(或DB,或任何其他持久性存储)中,然后在第二次回发时检索该位置并继续使用该文件。这样你就不必再要求了


处理完文件后,您可以删除临时文件,或者如果在请求的生命周期内不可行,请执行一个辅助作业,清除临时文件文件夹中的所有“已处理”文件(以及用户从未提交第二个表单且其会话已结束的任何文件)每隔一段时间。

您可以通过ajax调用来实现这一点,并且不需要第二个表单,只需调用另一个php文件来处理它,那么如何将数据传递到该php文件?只需将其发布为数组?您可以将其发布为数组,也可以使用javascript formdata对象通过ajax@GrumpyCrouton提交文件。此问答可能会有所帮助,并且-如果您希望进一步搜索,我在谷歌搜索“处理多个表单php ajax”时发现了这些问题。我仍然不确定如何使用它,因为在第一个表单之后需要用户输入,所以我回到了我最初的问题,因为我不知道如何重新附加文件。就我所知,这是唯一可行的方法。另外,假设你的建议实际上是可行的,这也会节省带宽,因为文件只上传一次,而不是再次上传。我正在处理的文件大小在大多数情况下都很小,但你是对的