我是php的新手 我无法理解一件简单的事情。
<?php
$users = fopen("users.txt", "r");
while ($line = fgets($users, 4096)) {
list($name, $occupation, $color) = explode("|", $line);
printf("Name: %s<br/>", $name);
printf("Occupation: %s<br/>", $occupation);
printf("Favourite color: %s <br />", $color);
}
fclose($users);
?>
此处,while ($line = fgets($users, 4096))
行4096
是什么意思?
答案 0 :(得分:4)
这只是假设的最大长度。
读取
length
- 1 字节,或换行符或 EOF 时(以先到者为准)结束)。如果没有指定长度,它将继续从流中读取,直到它到达行尾。
如果你没有在4.3.0下为PHP指定length
,它将使用length = 1024
如果您没有在较新版本中指定length
,它将一直读到它到达行尾。
我可能会猜到指定length
的几个原因:
length = 1024
。如果文件中的行较长,最好指定最大可能的长度; n
个字符; length
会对某个方面的表现产生积极的影响(如果我错了,请纠正我)。因此,在新版本中,如果您想要读取整行 - 请勿使用length
或将其设置为输入中行的最大可能长度。