gpt4 book ai didi

php - 在 PHP 中读取文件的内存占用最少的方法

转载 作者:行者123 更新时间:2023-12-03 00:55:54 24 4
gpt4 key购买 nike

我正在使用 Php 中的 file() 函数读取包含大约 50k 行的文件。但是,由于文件的内容作为数组存储在内存中,因此会出现内存不足错误。还有其他办法吗?

此外,存储的行的长度是可变的。

这是代码。而且该文件为 700kB,而不是 mB。

private static function readScoreFile($scoreFile)
{
$file = file($scoreFile);
$relations = array();

for($i = 1; $i < count($file); $i++)
{
$relation = explode("\t",trim($file[$i]));
$relation = array(
'pwId_1' => $relation[0],
'pwId_2' => $relation[1],
'score' => $relation[2],
);
if($relation['score'] > 0)
{
$relations[] = $relation;
}
}

unset($file);
return $relations;
}

最佳答案

使用fopen , freadfclose按顺序读取文件:

$handle = fopen($filename, 'r');
if ($handle) {
while (!feof($handle)) {
echo fread($handle, 8192);
}
fclose($handle);
}

关于php - 在 PHP 中读取文件的内存占用最少的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3171155/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com