What are the limitations of using file() function to determine the presence of a newline character at the end of a file in PHP?

The file() function reads a file into an array, with each element representing a line in the file. However, this function does not differentiate between lines that end with a newline character and those that do not. To accurately determine the presence of a newline character at the end of a file, you can use the file_get_contents() function to read the file as a string and then check if the last character is a newline character.

$file_contents = file_get_contents('example.txt');
$last_character = substr($file_contents, -1);

if ($last_character === "\n") {
    echo "Newline character found at the end of the file.";
} else {
    echo "No newline character found at the end of the file.";
}