PHP bir dosyayı okumak için az yoğun bellek yolu

0 Cevap php

Ben Php dosyası () işlevini kullanarak etrafında 50k satırları içeren bir dosya okuyorum. Ancak, onun dosyanın içeriğinin beri bellek hatası bir Çıkış veren bir dizi olarak hafızada saklanır. Başka bir yolu var mı?

Ayrıca, depolanmış hatların uzunlukları değişebilir.

İşte kod. Ayrıca dosya 700KB mB değildir.

  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;
}

0 Cevap