0

我正在尝试使用 PHP 的 unpack 函数从文件中创建一个数组。问题是 PHP 在处理更大的文件时会耗尽内存。完成后,该脚本应处理 3 到 4 MB 之间的文件,但仍保持相当快的速度。这是基本思想:

<?php
$file = 'uploads/file.pcg';
$array = unpack('C*', file_get_contents($file));
?>

有没有一种方法可以在不重载 PHP 的情况下一次从整个文件中生成数组,或者我唯一的选择是使用每个脚本实例的合理数据量?- 大约 1 MB 似乎相当快。- 是不是即使是单独的数组也需要比允许的限制更多的内存?

另外...抱歉,如果此处已经发布了类似的内容-不过,我认为不是。:D

感谢您的帮助。

4

1 回答 1

0

看起来您必须增加ini 文件中的memory_limit,因为 file_get_contents 会将整个文件加载到内存中。基本上,如果你想获得一个大数组——无论如何你都必须这样做。或者您可能会寻找其他方式来读取文件并逐步解压缩,而无需将整个文件读入内存。

于 2012-09-10T10:26:09.593 回答