I didn't have to copy it to my local server as I'm using file() to open it on a remote server. That's one of the cool things about file().
It then takes each line of the file you're opening and stores it in an array to process however you like.
So if the file is all stuck on one line it's working more like file_get_contents() which returns the contents o a file as a string.
But I've no idea as to why this particular text file in the code example above does not behave as it should.