【发布时间】:2015-09-04 12:48:21
【问题描述】:
我的 Web 应用程序允许用户导入一个 excel 文件并将该文件中的数据写入 mysql 数据库。 问题是,当 excel 文件有很多条目,甚至 1000 行时,我得到一个错误,说 PHP 内存不足。这发生在读取文件时。 我在 php.ini 文件中为 PHP 分配了 1024MB。
我的问题是,如何在 PHP 中导入如此大的数据。
我正在使用 CodeIgniter。 为了读取 excel 文件,我使用this 库。
已解决。我使用 CSV 而不是 xls。我可以在几秒钟内导入 10,000 行数据。 谢谢大家的帮助。
【问题讨论】:
-
增加内存限制?或者,更好的是,不要在 PHP 中处理大量数据——这不是它的设计目的。
-
PHP 的 1GB 内存太疯狂了......,但这个问题可能最好针对有问题的库提出。如果您必须使用该库来满足您的需求,那么处理大型数据集并不是您唯一的问题。
-
我不会经常调用 1000 行,几分钟前导入了一个 60k 行的 csv 文件
-
我会先保存它,然后使用 fopen 和 fread 分段解析它。否则,设置一个单独的服务,专门用于导入和设计一个队列系统,该服务可以读取和写入该服务可以在其中轮询作业并保存状态。
-
您是在使用 PHPExcel(您已将其标记为好像)还是在使用 php-excel-reader?
标签: php codeigniter phpexcel