php文本逐行无效

时间:2011-07-15 11:05:19

标签: php

我有一个名为things.txt的文本文件:

thing1
thing2
thing34

和php:

$fp = fopen('things.txt');
while (!feof($fp)) {
    $line = fgets($fp);
    echo $line."<br>";
}
fclose($fp);

它不起作用......任何想法?

3 个答案:

答案 0 :(得分:6)

fopen() 要求至少两个参数!

$fp = fopen('things.txt', 'r');

第二个是模式。 r(“readonly,指针在开头,没有截断”)应该在这里工作正常,因为你只读它。对于其他模式,请参阅手册(上面链接)。

您应该将开发设置更改为

error_reporting = E_ALL | E_STRICT

因为你应该得到一个错误。但是,无限循环的原因是fopen()返回nullfeof(null)返回falsewhile(!false)是无限循环。

答案 1 :(得分:2)

尝试$fp = fopen('things.txt', 'r') or die('unable to open file');查看您的脚本是否可以实际找到您的文件

答案 2 :(得分:2)

使用fopen时,需要指定一种模式(读,写等)。因此,您应该将代码更改为:

$fp = fopen('things.txt', 'r');
while (!feof($fp)) {
    $line = fgets($fp);
    echo $line."<br>";
}
fclose($fp);