no... primero,
file() crea un array, por eso al usar
explode() no pasa nada, solo un error...
el orden correcto es...
Código PHP:
$data = file('foo.dat');
// primero la fila...
$set = $data[2];
// columnas...
$set = explode("|", $set);
echo $set[0];
PDTA: no te disculpes, tan solo pon mas dedicación...