我正在从数据库中构建一个大字符串,有时它会以MB形式出现。有没有办法在字符串大小超过某些限制(字节)后将字符串写入文件。我担心的是尽快释放记忆。另一方面,由于磁盘延迟等问题,打开文件资源并在一定时间间隔后写入文件资源的想法似乎毫无用处。
a)那么如何管理大型字符串连接并将其保存到文件中呢?
b)是否有任何SPL类来管理此类活动以提升性能,或者我们是心爱的(。)点运算符的摆布?
答案 0 :(得分:2)
只需将其写入每行的磁盘即可。这将最小化在任何给定时间使用的RAM量,并且磁盘延迟应该大致相同。
$fp = fopen('filename.txt', 'w');
while($row = // query stuff) {
fwrite($fp, $row['column']);
}
fclose($fp);