1

我正在从数据库中构建一个大字符串,有时它会进入 MB 的 . 有没有办法在字符串的大小超过某些限制(字节)后将字符串写入文件。我关心的是尽快释放内存。另一方面,由于磁盘延迟等原因,在特定时间间隔后打开文件资源并写入文件资源的想法似乎毫无用处。

a) 那么如何管理大字符串连接并将其保存到文件中?

b)是否有任何 SPL 类来管理这种活动以提高性能,或者我们是心爱的 (.) 点运算符的怜悯?

4

1 回答 1

2

只需将其写入磁盘的每一行。这将最大限度地减少在任何给定时间使用的 RAM 量,并且磁盘延迟应该大致相同。

$fp = fopen('filename.txt', 'w');

while($row = // query stuff) {
    fwrite($fp, $row['column']);
}
fclose($fp);
于 2013-08-05T09:08:46.240 回答