2 回答
![?](http://img1.sycdn.imooc.com/545867790001599f02200220-100-100.jpg)
TA贡献1793条经验 获得超6个赞
那是因为您对EOF的测试是在您最后一次读取之前进行的
在阅读过程中尝试进行EOF测试
<?php
$line_count = 0;
$handle = fopen("item_sets.txt", "r");
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
$trimmed = trim($buffer);
echo $trimmed;
$line_count++;
}
} else {
echo 'Unexpected error opening file';
}
fclose($handle);
echo PHP_EOL.PHP_EOL.PHP_EOL.'Lines read from file = ' . $line_count;
?>
我还删除了忽略错误的不良做法的@内幕fopen,而寻找并处理它们的更好的做法。
我将您的数据复制到一个名为tst.txt的文件中,并运行了此确切代码
<?php
$handle = fopen('tst.txt', 'r');
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
$trimmed = trim($buffer);
echo $trimmed;
}
} else {
echo 'Unexpected error opening file';
}
fclose($handle);
它生成了此输出(此处仅显示一小部分)
"item_sets"{"set_community_3"{"name" "#CSGO_set_community_3""set_description" "#CSGO_set_community_3_desc""is_collection"
最后的输出是
[aa_fade_revolver]weapon_revolver" "1"
数据文件中的最后一个条目
- 2 回答
- 0 关注
- 651 浏览
添加回答
举报