PHP Lavarel - 编写一个2步CSV文件导入过程,包括映射确认

时间:2016-11-27 23:27:00

标签: php csv

我目前正在构建一个允许用户将CSV文件导入数据库的应用程序。我感到困惑的是处理第二个导入映射过程的最佳方法,因为我发现文件信息丢失了。

表单第一步询问用户是否有文件:

enter image description here

服务器处理帖子,处理csv并使用导入映射和示例数据重定向回页面:

enter image description here

当表单再次发布时 - 服务器将如何知道要查找的文件?我正在考虑将已保存的文件路径推回并将其作为隐藏输入包含在内,但我意识到这有风险,因为它可能会被用户更改。也许是某种加密的字符串?

任何建议都会令人惊讶,或者如果你能想出一个更好的方法来实现这个目标!

此外 - 是否有一种很好的方法只允许用户从选择下拉列表中选择一个选项?

1 个答案:

答案 0 :(得分:1)

您可以创建一个“上传”模型,该模型将文件路径存储在数据库中。当用户上载CSV时,您可以创建模型实例并重定向到具有映射字段选项的表单。设置字段后,您将处理CSV并删除记录。您还可以使用计划任务在一段时间(即24小时)后清理未处理的CSV文件。