è molto semplice.. ad ogni riga che tu leggi nel file txt $buffer viene SOVRASCRITTO e non CONCATENATO.

indi per cui alla fine del ciclo avrai solo l' ultimo pezzo letto...

detto questo ti rpopongo ciò:
Codice PHP:

$blocks
=explode("=",file_get_contents("tuofile.txt"));

// vediamo l' array risultante
echo "<pre>";
print_r($blocks);
echo 
"</pre>"