PHP脚本只适用于文件的最后一行


PHP Script works only on last line of file

好的,我有这个脚本,应该从http://www.omdbapi.com/

<?php
$doc = new DOMDocument;
$filePath = 'data.txt';
    if(file_exists($filePath)) {
        $file = fopen($filePath,'r');
        while(!feof($file)) {
            $name = fgets($file);
            echo $name;
            $doc->loadhtmlfile('http://www.omdbapi.com/?i=&t=' . $name . '&r=JSON&plot=full');
            $body = $doc->getElementsByTagName('body');
            if ( $body && 0<$body->length ) {
                $body = $body->item(0);
                echo $doc->savehtml($body);
                }
                sleep(1);
        }
        fclose($file);
    } 
    else {
        echo "FNF!";
    }
?>

这是脚本,这是我正在使用的文件

Planet Earth
Game of Thrones
Breaking Bad
The Wire
Life
Sherlock
Arrested Development
Clanul Soprano
Firefly
Dexter
Avatar: The Last Airbender
Twin Peaks
Freaks and Geeks
Monty Python's Flying Circus
Roma
The Twilight Zone
Oz
Seinfeld
Deadwood
Desu n&#xF4;to
House of Cards
South Park
Fawlty Towers
Batman
Prietenii tai
Leyla ile Mecnun
Cowboy Bebop
Suits
It's Always Sunny in Philadelphia
Blackadder Goes Forth
Six Feet Under
Downton Abbey
The Office
The Walking Dead
Archer
Dragon Ball Z
Black-Adder II
Familia Simpson
Top Gear
Boardwalk Empire
The X Files
Battlestar Galactica
Justified
Black Adder the Third
Futurama
Doctor Who
Spartacus: Blood and Sand
Mad Men
Dragon Ball Z
Spaced

除了最后一个标题,我得到的每个标题都是"找不到电影"(我把哪个标题放在文件的最后一个并不重要)。你能告诉我为什么会这样吗?

尝试:

$name = trim(fgets($file));

当您调用fgets时,它将返回末尾带有换行符的行。最后一行没有换行符。