while(!feof) 不要将数据放入变量中

while(!feof) don't put data into variables

提问人:texas_panda 提问时间:2/5/2018 最后编辑:texas_panda 更新时间:2/6/2018 访问量:141

问:

我刚刚开始学习 php 并对 feof() 有疑问。 我想从 txt 文件中读取 2 个字符串并将其放入两个变量中。但是出了点问题,因为var_dump向我展示了错误。

$fbhand = fopen("c://study/file.txt","r");
while (!feof($fbhand)) {
    $fizz = fgets($fbhand);
    $buzz = fgets($fbhand);
}

在此之前,我创建了这个文件,并在那里放置了 STDIN 和 W+ 的 2 个数字,而不是关闭的文件。

function dataEntry() {
    $fbfile = ("c://study/file.txt","w+");
    $handler = fopen("php://stdin", "r");
    echo "enter f \n";
    $f = fgets($handler);
    fwrite($fbfile, $f);
    echo "enter b\n";
    $b = fgets($handler);
    fwrite($fbfile,$b);
    fclose($fbfile);
}

我做错了什么?

php fopen fgets feof

评论

3赞 Ed Heal 2/5/2018
stackoverflow.com/questions/5431941/......并请检查文件是否已打开
0赞 axiac 2/5/2018
c://study/file.txt看起来像一个 URL,但没有协议。我不能确定,但我怀疑因此而失败。你可能的意思是.cfopen()c:/study/file.txt
1赞 S. Imp 2/5/2018
你的代码甚至不是有效的 PHP。如果没有语法错误,则无法运行它。此外,您必须先打开$fbfile,然后才能写入它。
1赞 texas_panda 2/6/2018
@Mawg 如果我 vardump 或它显示 null。Feof 像无尽的 cicle 一样运行,穿插它为什么会发生$fizz$buzz
1赞 Mawg says reinstate Monica 2/6/2018
正如@EdHeal所说,您几乎可以肯定永远循环,因为您无法检测到,如果失败,这将是避风港 - 检查是否while (!feof($fbhand))feof(NULL)$handler = fopen("php://stdin", "r");$handler == NULL

答: 暂无答案