【问题标题】:PHP : How can I read an .XLS file's contents without saving it to the server?PHP:如何读取 .XLS 文件的内容而不将其保存到服务器?
【发布时间】:2010-11-09 11:49:00
【问题描述】:

我正在使用 PHP 开发一个数据库程序,以跟踪我们在工作场所管理的产品。

对于这个项目,我需要能够选择一个包含新产品数据的 .XLS 文件。 新数据包含以下字段:

输入 CHAR(3), CHAR(2) 行, 号码 INT, 测量INT, 评论 VARCHAR(255), 变体 CHAR(1) 即('Y' || 'N')

这些文件是在 Excel 或 Google Docs 中创建的;我找到了一个wonderful excel_reader,它允许我从这个文件中提取值。

由于这是一个经常发生的动作,随着新产品的创建,所以我不希望文件存储在我的服务器目录中(一段时间后会有几十个!)。 我宁愿只读取文件,因为我正在编写的导入脚本会将文件的数据传输到数组中。

我真正想做的是让用户通过 HTML 表单选择文件的位置(在他们的本地计算机上),然后让脚本将该文件的内容保存到 MySQL 数据库,而无需将文件发送到服务器.

如果您能给我提供任何建议,我将不胜感激,我什至不确定我的计划是否是处理这种情况的有效方法。

【问题讨论】:

  • 好吧,我假设您正在服务器端编写 PHP?如果您想在 PHP 代码中处理它,我看不出如何避免将该文件发送到服务器。浏览器或多或少只知道 html 和 javascript,而且都不擅长直接访问数据库。
  • 我不明白为什么这个问题被否决了。这不是一个骗局,OP 有真正的担忧,并花时间在他的问题中清楚地提出这些问题。而且,这是他的第一个问题。迎接新人的好方法:(

标签: php file upload


【解决方案1】:

它必须被存储,至少是暂时的。在获得所需内容后删除文件(大概是在使用 move_uploaded_file 将其从临时目录中移出到您将要从中读取它的文件夹之后),然后使用 unlink 将其删除。

最后一点,我有点担心立即删除上传的文件。如果在解析文件并将数据存储在数据库中时脚本出现问题怎么办?为了安全起见,最好有一个定期删除文件的 cron 作业,而不是立即删除它们。

【讨论】:

  • 我在这个网站上的速度永远不够快:-)
【解决方案2】:

由于您的 PHP 脚本正在服务器上运行,因此必须将 Excel 文件保存到服务器才能读取。读取文件并将其存储在数据库中后,只需将其删除即可。

【讨论】:

    【解决方案3】:

    我找到了我的问题here 的答案。这是一个很好的关于使用 PHP 上传、移动、读取和删除文件的教程。

    感谢所有做出贡献的人。

    【讨论】:

    • @Clad - 你应该勾选你认为最有用的答案。
    【解决方案4】:

    我一直在努力做同样的事情(尽管对于 xlsx)。
    解决方案是使用 $_FILES['file']['tmp_name'],
    其中 file 是输入名称。

    问候:)

    【讨论】:

      猜你喜欢
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 2020-02-28
      • 2012-09-07
      • 1970-01-01
      • 2021-03-29
      • 2015-10-19
      • 2012-12-04
      相关资源
      最近更新 更多