gpt4 book ai didi

php简历文件导入

转载 作者:行者123 更新时间:2023-11-28 23:17:59 25 4
gpt4 key购买 nike

我有一个客户要求可以导入可恢复的文件。我会告诉导入的用例文件是对应于 3 个 mysql 表数据的 csv。在上传过程中,如果出现任何类型的警告,如名称太长、描述太长,它应该停止执行并向客户端显示警告。客户端有 2 个选项忽略并重新上传,如果他忽略,则文件上传将从发生错误的位置恢复,并且其他选项很简单,只需重新上传文件。显示错误消息后我应该如何继续执行脚本?我应该如何跟踪没有完成的 csv 行?

现在让我们解释一下我的计划。我首先使用 jquery ajax。保存每行代码后,保存 session 变量中执行的行数。如果用户忽略警告。然后我将重新上传 csv 并等到该行与 session 变量中的行不匹配。这是一种优雅的做事方式吗?我提出这个问题的原因是每次用户根据我的逻辑忽略错误消息时,他/她需要等到 session 中存储的行到达。如果他们是解决此问题的更好方法,请举例说明。提前致谢。

最佳答案

可能的工作流程

  1. 分析 CSV 文件的每一行并将其加载到专门为此目的创建的空表中。该表应包含仅存储您从 CSV 文件导入的列的列。它还可以包含额外的列来存储在导入过程中计算的数据; f.e.如果输入数据的处理和验证需要查找到数据库中已经存在的数据中,找到的值也应该存储在导入表中,以避免再次运行相同的查询。
  2. 忽略 CSV 文件中无法导入的行,但要跟踪它们的信息(内容、失败原因等)。您需要这些信息才能将其显示给用户。
  3. 如果 CSV 文件中没有错误,则将(已验证的)数据从特殊表移动到目标表中,并称其成功。
  4. 如果有错误显示给用户。
    • 如果用户决定重新加载 CSV,则从第 1 步重新开始。
    • 如果用户决定忽略错误,则继续第 3 步。

优势

  • 无需再次上传 CSV 文件。
  • 无需跟踪进度。

缺点

  • 很多工作已经完成,如果文件很大则丢弃,错误出现在 CSV 文件的开头,用户决定再次上传。这可以通过使用包含 CSV 文件原始行的额外数据库表和额外步骤(步骤 0)来改进算法:将 CSV 文件加载到其中,然后使用此表而不是 CSV 文件作为输入数据步骤 1. 当一行有效时,将其从 CSV 表中删除;当一行无效时,则跳至第 4 步。当用户决定忽略错误时,则继续执行第 1 步。

关于php简历文件导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43026750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com