提交初始表单后重新附加csv文件

时间:2017-05-04 12:50:39

标签: php forms csv

我有一个只是文件输入的表单,此文件输入用于附加CSV文件,然后您提交它,它会为您提供所有可供选择的标题列表。完成选择后,我想提交另一个带有这些选项的表单以及要处理的CSV文件。

我的问题是我无法弄清楚如何将CSV文件重新附加到第二张表格。

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

这就是我所拥有的,我试着查看它但找不到任何东西。

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

在初始附件之后,这是第二种形式。如何将CSV文件附加到要处理的表单?

1 个答案:

答案 0 :(得分:1)

您所描述的内容是不可能的 - 您无法使用PHP将文件写入“文件”输入 - 它代表用户磁盘的位置(服务器端不为您所知)并仅检索回发时的实际文件内容。

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

完成文件后,您可以删除临时文件,或者如果在请求的生命周期内不可行,则有一个辅助作业清除所有“已处理”文件(以及任何文件)的临时文件文件夹用户从未提交第二个表格并且他们的会话已经结束的地方。