Pon la ruta relativa cuando uses fopen(), si ambos archivos estan en la misma carpeta pues pon solo "datos.dat". O si lo quieres dejar asi fijate en el primer ejemplo como es aqui:
http://php.net/manual/en/function.fopen.php
Por cierto, lo de echo $linea fuera del While hara que solo muestre la ultima
Y para terminar, imagino que lo de
>? sera un error al escribirlo aqui ¿no? jejeje